On 10/10/2014 05:08 PM, MauMau wrote:
> From: "Craig Ringer" <cr...@2ndquadrant.com>
>> It sounds like they've produced a test case, so they should be able to
>> with a bit of luck.
>> Or even better, send you the test case.
> I asked the user about this.  It sounds like the relevant test case consists
> of many scripts.  He explained to me that the simplified test steps are:
> 1. initdb
> 2. pg_ctl start
> 3. Create 16 tables.  Each of those tables consist of around 10 columns.
> 4. Insert 1000 rows into each of those 16 tables.
> 5. Launch 16 psql sessions concurrently.  Each session updates all 1000 rows
> of one table, e.g., session 1 updates table 1, session 2 updates table 2,
> and so on.
> 6. Repeat step 5 50 times.
> This sounds a bit complicated, but I understood that the core part is 16
> concurrent updates, which should lead to contention on xlog insert slots
> and/or spinlocks.

I was able to reproduce this. I reduced wal_buffers to 64kB, and
NUM_XLOGINSERT_LOCKS to 4 to increase the probability of the deadlock,
and ran a test case as above on my laptop for several hours, and it
finally hung. Will investigate...

- Heikki

Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:

Reply via email to