Re: BUG #15727: PANIC: cannot abort transaction 295144144, it was already committed
r.zharkov@postgrespro.ru
From: r.zharkov@postgrespro.ru
To: Andres Freund <andres@anarazel.de>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>, Tom Lane <tgl@sss.pgh.pa.us>,
pgsql-bugs@lists.postgresql.org
Date: 2019-04-03T08:38:16Z
Lists: pgsql-bugs
Attachments
- settings.txt (text/plain)
On 2019-04-03 00:11, Andres Freund wrote: > Hi, > > On 2019-04-03 00:04:15 +0700, r.zharkov@postgrespro.ru wrote: >> pgbench connects to the database through the connection pooller called >> Odyssey. >> We use pool of 16 or 32 backends. >> We run four series of pgbench tests with different connections count ( >> 100, >> 150, 200, ... , 1000 ) >> Three series with pool size 16 runs normally. >> But fourth series fails with 200-300 connections. It took about five >> hours >> to reproduce the error this time. >> >> Here is the little piece of the pgbench log: >> >> Bench start >> Tue Apr 2 14:43:12 UTC 2019 >> Timestamp 1554216192 >> transaction type: multiple scripts >> scaling factor: 1 > > Is this the actual scaling factor? Did you create the pgbench database > with foreign keys? > > Greetings, > > Andres Freund Hi, Yes, 1 is the actual scaling factor. My script to create database: /db/zharkov/.vanila/bin/pg_ctl -D /db/zharkov/vanila -l /db/zharkov/vanila/log.log stop rm -rf /db/zharkov/vanila/* /db/zharkov/.vanila/bin/initdb -D /db/zharkov/vanila --data-checksums #/db/zharkov/.vanila/bin/initdb -D /db/zharkov/vanila cp postgresql.conf /db/zharkov/vanila/ ulimit -c unlimited /db/zharkov/.vanila/bin/pg_ctl -D /db/zharkov/vanila -c -l /db/zharkov/vanila/log.log start /db/zharkov/.vanila/bin/psql postgres -c 'create database test' /db/zharkov/.vanila/bin/psql test -c 'create extension pg_prewarm;' /db/zharkov/.vanila/bin/pgbench -i test -s 1 #/db/zharkov/.vanila/bin/pgbench -i test -s 1000 /db/zharkov/.vanila/bin/psql test -c "select pg_prewarm( 'pgbench_accounts' );" /db/zharkov/.vanila/bin/psql test -c "select pg_prewarm( 'pgbench_branches' );" /db/zharkov/.vanila/bin/psql test -c "select pg_prewarm( 'pgbench_history' );" /db/zharkov/.vanila/bin/psql test -c "select pg_prewarm( 'pgbench_tellers' );" The dump of the server settings is in the attachment. -- regards, Roman Zharkov
Commits
-
Fix GetNewTransactionId()'s interaction with xidVacLimit.
- f7feb020c3d8 12.0 landed
-
Fix example in comment.
- 16954e22e2a8 12.0 cited
-
Fix EvalPlanQualStart to handle partitioned result rels correctly.
- 1b5bbe4bcc91 10.8 landed
- b291488da513 11.3 landed
- a8cb8f124679 12.0 landed
-
Fix a number of issues around modifying a previously updated row.
- 41f5e04aec6c 12.0 landed
-
Use FullTransactionId for the transaction stack.
- ad308058cc86 12.0 cited
-
Add basic infrastructure for 64 bit transaction IDs.
- 2fc7af5e9660 12.0 cited
-
tableam: Add tuple_{insert, delete, update, lock} and use.
- 5db6df0c0117 12.0 cited
-
Throw error if expiring tuple is again updated or deleted.
- 6868ed7491b7 9.3.0 cited