Re: Parallel scan with SubTransGetTopmostTransaction assert coredump
Greg Nancarrow <gregn4422@gmail.com>
From: Greg Nancarrow <gregn4422@gmail.com>
To: Pengchengliu <pengchengliu@tju.edu.cn>
Cc: Andres Freund <andres@anarazel.de>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2021-05-11T11:08:23Z
Lists: pgsql-hackers
On Tue, May 11, 2021 at 11:28 AM Pengchengliu <pengchengliu@tju.edu.cn> wrote: > > Hi Andres, > Reproduce steps. > > 1, Modify and adjust NUM_SUBTRANS_BUFFERS to 128 from 32 in the file "src/include/access/subtrans.h" line number 15. > 2, configure with enable assert and build it. > 3, init a new database cluster. > 4, modify postgres.conf and add some parameters as below. As the coredump from parallel scan, so we adjust parallel setting, make it easy to reproduce. > > max_connections = 2000 > > parallel_setup_cost=0 > parallel_tuple_cost=0 > min_parallel_table_scan_size=0 > max_parallel_workers_per_gather=8 > max_parallel_workers = 32 > > 5, start the database cluster. > 6, use the script init_test.sql in attachment to create tables. > 7, use pgbench with script sub_120.sql in attachment to test it. Try it sometimes, you should get the coredump file. > pgbench -d postgres -p 33550 -n -r -f sub_120.sql -c 200 -j 200 -T 120 > Hi, I had a go at reproducing your reported issue, making sure to follow all your steps. Unfortunately, your script seemed to run OK with pgbench and no crash/coredump occurred for me (and yes, I definitely had asserts enabled). I tried with both the 13.2 source code (3fb4c75e857adee3da4386e947ba58a75f3e74b7), running through the script with pgbench twice to completion, and also did the same using the latest Postgres source code. Will be interesting to see if anyone is able to reproduce your issue. Regards, Greg Nancarrow Fujitsu Australia
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