Re: IPC/MultixactCreation on the Standby server
| От | Heikki Linnakangas |
|---|---|
| Тема | Re: IPC/MultixactCreation on the Standby server |
| Дата | |
| Msg-id | 00df3d94-f6cb-447b-8437-053691f50747@iki.fi обсуждение исходный текст |
| Ответ на | Re: IPC/MultixactCreation on the Standby server (Andrey Borodin <x4mmm@yandex-team.ru>) |
| Ответы |
Re: IPC/MultixactCreation on the Standby server
|
| Список | pgsql-hackers |
On 02/12/2025 15:44, Andrey Borodin wrote: >> On 1 Dec 2025, at 20:29, Andrey Borodin <x4mmm@yandex-team.ru> wrote: >> >> I'm looking through patchsets. I'll look in the morning with fresh eyes. > > So far I have no findings. > I also tried to stress-test v14. I assumed that if regression slipped in, most probably it is inherited by 14 from higherversions. Thanks! Agreed, v14-16 were the same. v17 and v18 might be worth testing separately, to make sure I didn't e.g. screw up the locking differences. > I used slightly modified scripts from Dmitry who started this thread. > > DB initialization: > create table tbl2 (id int primary key,val int); > insert into tbl2 select i, 0 from generate_series(1,100000) i; > > Load with multi: > \set id random(1, 10000) > begin; > select * from tbl2 where id = :id for no key update; > savepoint s1; > update tbl2 set val = val+1 where id = :id; > commit; > > Consistency test: > select sum(val) from tbl2; > > Stress-test script: > while true; do pkill -9 postgres; ./pg_ctl -D testdb restart; (./pgbench --no-vacuum -M prepared -c 50 -j 4 -T 300 -P 1postgres --file=load.sql &); sleep 5; done > > To promote multixact races I tried this with patched version: added random sleep up to 50ms between GetNewMultiXactId()and RecordNewMultiXact(). > > So far I did not manage to corrupt database. > > What else kind of loads worth exercising? Combinations of patched and unpatched binaries, as primary/replica and crash recovery. I did some testing of crash recovery, but more would be good. - Heikki
В списке pgsql-hackers по дате отправления: