On Sun, Nov 03, 2024 at 04:25:41AM +0000, Bertrand Drouvot wrote: > We are using sizeof(PgStat_HashKey) in pgstat_cmp_hash_key() and we compute > the > hash hash key in pgstat_hash_hash_key() using the PgStat_HashKey struct size > as > input: this lead to unexpected results if the keys contain random data in the > padding bytes.
So you've seen that your patch was behaving weirdly once you have added padding because the hash key size has been extended, leading to relfilenode entries not being fetched when they should, right? Perhaps it would be simpler to use a {0} like anywhere else for PgStat_HashKey in pgstat_fetch_entry() and pgstat_drop_entry(), then initialize the individual fields? -- Michael
signature.asc
Description: PGP signature