Re: FSM Corruption (was: Could not read block at end of the relation)
От | Noah Misch |
---|---|
Тема | Re: FSM Corruption (was: Could not read block at end of the relation) |
Дата | |
Msg-id | 20240413171528.59.nmisch@google.com обсуждение исходный текст |
Ответ на | Re: FSM Corruption (was: Could not read block at end of the relation) (Noah Misch <noah@leadboat.com>) |
Ответы |
Re: FSM Corruption (was: Could not read block at end of the relation)
|
Список | pgsql-bugs |
On Thu, Apr 11, 2024 at 08:38:43AM -0700, Noah Misch wrote: > On Thu, Apr 11, 2024 at 09:36:50AM +0200, Ronan Dunklau wrote: > > Le dimanche 7 avril 2024, 00:30:37 CEST Noah Misch a écrit : > > > Your v3 has the right functionality. As further confirmation of the fix, I > > > tried reverting the non-test parts of commit 917dc7d "Fix WAL-logging of FSM > > > and VM truncation". That commit's 008_fsm_truncation.pl fails with 917dc7d > > > reverted from master, and adding this patch makes it pass again. I ran > > > pgindent and edited comments. I think the attached version is ready to go. > > > > Thank you Noah, the updated comments are much better. I think it should be > > backported at least to 16 since the chances of tripping on that behaviour are > > quite high here, but what about previous versions ? > > It should be reachable in all branches, just needing concurrent extension lock > waiters to reach before v16. Hence, my plan is to back-patch it all the way. > It applies with negligible conflicts back to v12. While it applied, it doesn't build in v12 or v13, due to smgr_cached_nblocks first appearing in c5315f4. Options: 1. Back-patch the addition of smgr_cached_nblocks or equivalent. 2. Stop the back-patch of $SUBJECT at v14. 3. Incur more lseek() in v13 and v12. Given the lack of reports before v16, (3) seems too likely to be a cure worse than the disease. I'm picking (2) for today. We could do (1) tomorrow, but I lean toward (2) until someone reports the problem on v13 or v12. The problem's impact is limited to DML giving ERROR when it should have succeeded, and I expect VACUUM FULL is a workaround. Without those mitigating factors, I would choose (1). Pushed that way, as 9358297.
В списке pgsql-bugs по дате отправления: