Re: buildfarm: could not read block 3 in file "base/16384/2662": read only 0 of 8192 bytes
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Tomas Vondra <tomas.vondra@2ndquadrant.com>, Peter Geoghegan <pg@bowt.ie>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2018-09-06T21:50:24Z
Lists: pgsql-hackers
On 2018-09-06 17:38:38 -0400, Tom Lane wrote: > I wrote: > > So where are we on this? Should I proceed with my patch, or are we > > going to do further investigation? Does anyone want to do an actual > > patch review? > > [ crickets... ] Sorry, bit busy with postgres open, and a few people being in town due to that. Could you attach the current version of the patch, or were there no meaningful changes? > So I took that as license to proceed, but while doing a final round of > testing I found out that a CLOBBER_CACHE_RECURSIVELY build fails, > because now that's an infinite recursion. On reflection it's a bit > surprising that it wasn't so all along. What I'm inclined to do about > it is to adjust AcceptInvalidationMessages so that there's a finite > recursion depth limit in the CLOBBER_CACHE_RECURSIVELY case, as there > already is in the CLOBBER_CACHE_ALWAYS case. Maybe 3 or so levels > would be enough. Hm, but wouldn't that pretty much mean that the risk exposed in this thread would still be present? The reason your approach fixes things is that if we're processing invalidation event N, which depends on invalidation changes at N+y being processed, is that the recursion leads to N+y being processed before the invalidation processing of N finishes, due to the recursion. Now you can argue that your restriction would only apply to CLOBBER_CACHE_RECURSIVELY, and thus not in normal builds, but that still makes me uncomfortable. Greetings, Andres Freund
Commits
-
Limit depth of forced recursion for CLOBBER_CACHE_RECURSIVELY.
- f112d4088c29 9.3.25 landed
- 35e39610a3f8 9.4.20 landed
- cc4e99546ede 9.5.15 landed
- 2ef5c12ad5b6 9.6.11 landed
- adfc156d356a 10.6 landed
- 90fd3bfd1707 11.0 landed
- f510412df351 12.0 landed
-
Fix longstanding recursion hazard in sinval message processing.
- 395f310b04c5 9.6.11 landed
- 9e6f4fbdd0cf 10.6 landed
- 2569ca0dc8a2 11.0 landed
- f868a8143a98 12.0 landed
- bf919387ecc6 9.4.20 landed
- 95e9f928ce5e 9.3.25 landed
- 66321ae61baf 9.5.15 landed
-
Fix bugs in vacuum of shared rels, by keeping their relcache entries current.
- a54e1f158779 11.0 cited