Re: WIP patch for parallel pg_dump

Поиск
Список
Период
Сортировка
От Andrew Dunstan
Тема Re: WIP patch for parallel pg_dump
Дата
Msg-id 4CF85E05.7050706@dunslane.net
обсуждение исходный текст
Ответ на Re: WIP patch for parallel pg_dump  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers

On 12/02/2010 09:41 PM, Tom Lane wrote:
> Andrew Dunstan<andrew@dunslane.net>  writes:
>> On 12/02/2010 09:09 PM, Tom Lane wrote:
>>> 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"?
>> Hmm. Yeah. Maybe we could get around it if we prefork the workers and
>> they all acquire locks on everything to be dumped up front in nowait
>> mode, right after the parent, and if they can't the whole dump fails. Or
>> something along those lines.
> [ thinks for a bit... ]  Actually it might be good enough if a child
> simply takes the lock it needs in nowait mode, and reports failure on
> error.  We know the parent already has that lock, so the only way that
> the child's request can fail is if something conflicting with
> AccessShareLock is queued up behind the parent's lock.  So failure to
> get the child lock immediately proves that the deadlock case applies.
>
>             


Yeah, that would be a whole lot simpler. It would avoid the deadlock, 
but it would have lots more chances for failure. But it would at least 
be a good place to start.

cheers

andrew


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: should we set hint bits without dirtying the page?
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: Author names in source files