Re: Re: Parallel scan with SubTransGetTopmostTransaction assert coredump
Pavel Borisov <pashkin.elfe@gmail.com>
From: Pavel Borisov <pashkin.elfe@gmail.com>
To: Greg Nancarrow <gregn4422@gmail.com>
Cc: Michael Paquier <michael@paquier.xyz>,
Pengchengliu <pengchengliu@tju.edu.cn>, Andres Freund <andres@anarazel.de>,
PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2021-05-24T13:55:51Z
Lists: pgsql-hackers
Attachments
- SubTransGetTopmostTransaction-rep.sh (text/x-sh)
- init_test.sql (application/octet-stream)
- sub_120.sql (application/octet-stream)
пн, 24 мая 2021 г. в 09:22, Greg Nancarrow <gregn4422@gmail.com>: > On Mon, May 24, 2021 at 2:50 PM Michael Paquier <michael@paquier.xyz> > wrote: > > > > On Mon, May 24, 2021 at 12:04:37PM +1000, Greg Nancarrow wrote: > > > Keep cfbot happy, use the PG14 patch as latest. > > > > This stuff is usually very tricky. > > Agreed. That's why I was looking for experts in this snapshot-handling > code, to look closer at this issue, check my proposed fix, come up > with a better solution etc. > > >Do we have a way to reliably > > reproduce the report discussed here? > Using a recipe similar to what has been described above in the thread, I reliably reproduced the bug in many Postgres versions. (v.11, v.13 etc.). 1. Make & make install 2. Make check 3. run SubTransGetTopmostTransaction-rep.sh in the Postgres source code dir. The test fails with coredumps in around 10 minutes. With applied fix has never failed yet. (Though transaction snapshots kitchen is indeed tricky and I am not 100% sure the fix does right thing which is safe in all circumstances)
Commits
-
Fix broken snapshot handling in parallel workers.
- 96f6ef9fe451 10.19 landed
- 198cf81e2c64 11.14 landed
- f4b77e82ebf4 12.9 landed
- bc062cb93823 13.5 landed
- 11c1239881b3 14.0 landed
- a780b2fcce6c 15.0 landed
-
Doc: move some catalogs.sgml entries to the right place.
- 713a431c781f 14.0 cited
-
Stamp 13.2.
- 3fb4c75e857a 13.2 cited
-
Create an infrastructure for parallel computation in PostgreSQL.
- 924bcf4f16d5 9.5.0 cited