| From: | Andrey Borodin <x4mmm(at)yandex-team(dot)ru> |
|---|---|
| To: | Heikki Linnakangas <hlinnaka(at)iki(dot)fi> |
| Cc: | Álvaro Herrera <alvherre(at)kurilemu(dot)de>, pgsql-hackers(at)lists(dot)postgresql(dot)org, Ivan Bykov <i(dot)bykov(at)modernsys(dot)ru>, Kirill Reshke <reshkekirill(at)gmail(dot)com> |
| Subject: | Re: IPC/MultixactCreation on the Standby server |
| Date: | 2025-11-30 12:15:42 |
| Message-ID: | E683AB34-82D1-4BD8-920F-865D4D41D4B5@yandex-team.ru |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
> On 29 Nov 2025, at 00:51, Heikki Linnakangas <hlinnaka(at)iki(dot)fi> wrote:
>
> I think the second comment became outdated in commit bc7d37a525c0, which introduced the safety check in (what became later) SimpleLruTruncate(). After that, it's been important that latest_page_number is set correctly, although for the sanity check I guess you could be a little sloppy with it.
Cool, so we can safely backpatch to 7.2! (I was 15 when this version rocked)
>> The page initialization dance is only needed in back branches. And we inevitable will have conflicts with SLRU refactoring in 18 and banking in 17. Conceptually v12 looks good to me, I can prepare
>> backport versions.
>
> Thanks!
>
> Here's a new patch version. I went through the test changes now:
>
> I didn't understand why the 'kill9' and 'poll_start' stuff is needed. We have plenty of tests that kill the server with regular "$node->stop('immediate')", and restart the server normally. The checkpoint in the middle of the tests seems unnecessary too. I removed all that, and the test still seems to work. Was there a particular reason for them?
In current shutdown sequence test seems to be reproducing corruption without checkpointing. I recollect that in July standby deadlock was reachable without checkpoint, but corruption was not. But now it seems test is working.
> I moved the wraparound test to a separate test file and commit. More test coverage is good, but it's quite separate from the bugfix and the wraparound related test shares very little with the other test. The wraparound test needs a little more cleanup: use plain perl instead of 'dd' and 'rm' for the file operations, for example. (I did that with the tests in the 64-bit mxoff patches, so we could copy from there.)
PFA test version without dd and rm. Did I get your right, that we do not backport wraparound test, backport fixes for 001_multixact.pl test down to 17 where it appeared?
First two patches are v13 intact, second pair is my suggestions.
Best regards, Andrey Borodin.
| Attachment | Content-Type | Size |
|---|---|---|
| v14-0001-Set-next-multixid-s-offset-when-creating-a-new-m.patch | application/octet-stream | 21.2 KB |
| v14-0004-Improve-multixact-wraparound-test.patch | application/octet-stream | 3.1 KB |
| v14-0003-Fix-debug-warning.patch | application/octet-stream | 933 bytes |
| v14-0002-Add-test-for-multixid-wraparound.patch | application/octet-stream | 2.4 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Brad Arndt | 2025-11-30 14:45:37 | Feature Proposal: schema renaming in pg_dump/pg_restore |
| Previous Message | Mihail Nikalayeu | 2025-11-30 12:11:06 | Re: Issues with ON CONFLICT UPDATE and REINDEX CONCURRENTLY |