Re: parallel restore item dependencies

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: parallel restore item dependencies
Date: 2009-03-13 22:53:48
Message-ID: 22386.1236984828@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I wrote:
> Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
>> In my original patch, I looked at all the dependencies of a candidate
>> item ansd compared them with the dependencies of the running items to
>> see if there was a potential locking clash. However, Tom in his
>> admirable reworking of my patch, restricted the list of potential
>> clashing items (lockDeps) to "TABLE" items, if any. This would probably
>> have been ok if we hadn't just beforehand transferred all TABLE
>> dependencies in POST_DATA items to the corresponding TABLE DATA item.
>> The result is that we get empty lockDeps lists on all items - I'm
>> surprised we haven't had more complaints about deadlock or failing locks.

> [ scratches head... ] I coulda sworn I tested that when I was hacking
> it. I'm running low on steam tonight but will think more about this
> tomorrow.

I think I have reconstructed what happened: I tested this code before
I decided that repointing the dependencies was a good idea, or else
reordered the sequence of operations in fix_dependencies after that.
It looks to me like the correct fix is just to look for TABLE DATA
not TABLE while setting up lockDeps[], since all the entry types we
care about are POST_DATA items. Anyway, I've committed that, please
try it.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2009-03-14 00:05:08 Re: hstore improvements?
Previous Message Alvaro Herrera 2009-03-13 22:36:49 Re: hstore improvements?