Re: WIP patch for parallel pg_dump
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andrew Dunstan <andrew@dunslane.net>
Cc: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>, Joachim Wieland <joe@mcknight.de>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2010-12-03T02:09:59Z
Lists: pgsql-hackers
Andrew Dunstan <andrew@dunslane.net> writes: > On 12/02/2010 05:32 PM, Tom Lane wrote: >> (I'm not actually convinced that snapshot cloning is the only problem >> here; locking could be an issue too, if there are concurrent processes >> trying to take locks that will conflict with pg_dump's. But the >> snapshot issue is definitely a showstopper.) > Why is that more an issue with parallel pg_dump? The scenario that bothers me is 1. pg_dump parent process AccessShareLocks everything to be dumped. 2. somebody else tries to acquire AccessExclusiveLock on table foo. 3. pg_dump child process is told to dump foo, tries to acquire AccessShareLock. Now, process 3 is blocked behind process 2 is blocked behind process 1 which is waiting for 3 to complete. Can you say "undetectable deadlock"? regards, tom lane