> On 29 Jul 2025, at 12:17, Dmitry <dsy....@yandex.ru> wrote:
>
> But on the master, some of the requests then fail with an error, apparently
> invalid multixact's remain in the pages.
Thanks!
That's a bug in my patch. I do not understand it yet. I've reproduced it with
your original workload.
Most of errors I see are shallow (offset == 0 or nextOffset==0), but this one
is interesting:
TRAP: failed Assert("shared->page_number[slotno] == pageno &&
shared->page_status[slotno] == SLRU_PAGE_WRITE_IN_PROGRESS"), File: "slru.c",
Line: 729, PID: 91085
0 postgres 0x00000001032ea5ac ExceptionalCondition
+ 216
1 postgres 0x0000000102af2784
SlruInternalWritePage + 700
2 postgres 0x0000000102af14dc SimpleLruWritePage +
96
3 postgres 0x0000000102ae89d4 RecordNewMultiXact +
576
So it makes me think that it's some version of IO concurrency issue.
As expected error only persists if "extend SLRU" branch is active in
RecordNewMultiXact().
Thanks for testing!
Best regards, Andrey Borodin.