Re: SimpleLruTruncate() mutual exclusion
Noah Misch <noah@leadboat.com>
From: Noah Misch <noah@leadboat.com>
To: Dmitry Dolgov <9erthalion6@gmail.com>, pgsql-hackers@postgresql.org
Cc: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2020-08-02T06:11:42Z
Lists: pgsql-hackers
On Fri, Jan 31, 2020 at 12:42:13AM -0800, Noah Misch wrote: > On Thu, Jan 30, 2020 at 04:34:33PM +0100, Dmitry Dolgov wrote: > > Just to clarify, since the CF item for this patch was withdrawn > > recently. Does it mean that eventually the thread [1] covers this one > > too? > > > > [1]: https://www.postgresql.org/message-id/flat/20190202083822.GC32531%40gust.leadboat.com > > I withdrew $SUBJECT because, if someone reviews one of my patches, I want it > to be the one you cite in [1]. I plan not to commit [1] without a Ready for > Committer, and I plan not to commit $SUBJECT before committing [1]. I would > be willing to commit $SUBJECT without getting a review, however. After further reflection, I plan to push $SUBJECT shortly after 2020-08-13, not waiting for [1] to change status. Reasons: - While I put significant weight on the fact that I couldn't reproduce $SUBJECT problems without first fixing [1], I'm no longer confident of that representing real-world experiences. Reproducing [1] absolutely requires a close approach to a wrap limit, but $SUBJECT problems might not. - Adding locks won't change correct functional behavior to incorrect functional behavior. - By pushing at that particular time, the fix ordinarily will appear in v13.0 before appearing in a back branch release. If problematic contention arises quickly in the field, that's a more-comfortable way to discover it.
Commits
-
Prevent concurrent SimpleLruTruncate() for any given SLRU.
- e525770dd504 10.15 landed
- d4031d78460c 11.10 landed
- 5ae01df6f6ef 9.6.20 landed
- 3fbbf64ceecb 9.5.24 landed
- 592a589a04bd 13.0 landed
- 30e68a2abb38 12.5 landed
- 566372b3d643 14.0 landed
-
Rename SLRU structures and associated LWLocks.
- 5da14938f7bf 13.0 cited
-
Improve ANALYZE's handling of concurrent-update scenarios.
- 7170268efd51 12.0 cited
-
Avoid consuming an XID during vac_truncate_clog().
- 996d273978c6 9.6.0 cited