Re: Failures in constraints regression test, "read only 0 of 8192 bytes"
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Heikki Linnakangas <hlinnaka@iki.fi>
Cc: Alexander Lakhin <exclusion@gmail.com>,
Thomas Munro <thomas.munro@gmail.com>,
Tomas Vondra <tomas.vondra@enterprisedb.com>,
Ronan Dunklau <ronan.dunklau@aiven.io>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2024-06-20T23:12:22Z
Lists: pgsql-hackers
Heikki Linnakangas <hlinnaka@iki.fi> writes: > In commit af0e7deb4a, I removed the call to RelationCloseSmgr() from > RelationCacheInvalidate(). I thought it was no longer needed, because we > no longer free the underlying SmgrRelation. > However, it meant that if the relfilenode of the relation was changed, > the relation keeps pointing to the SMgrRelation of the old relfilenode. > So we still need the RelationCloseSmgr() call, in case the relfilenode > has changed. Ouch. How come we did not see this immediately in testing? I'd have thought surely such a bug would be exposed by any command that rewrites a heap. regards, tom lane
Commits
-
Fix relcache invalidation when relfilelocator is updated
- 441ef5e1badc 17.0 landed
-
Don't destroy SMgrRelations at relcache invalidation
- af0e7deb4a1c 17.0 landed
-
Add a new slot sync worker to synchronize logical slots.
- 93db6cbda037 17.0 cited