Re: parallel restore vs. windows

From: Andrew Chernow <ac(at)esilo(dot)com>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: parallel restore vs. windows
Date: 2008-12-09 18:50:27
Message-ID: 493EBDF3.6010008@esilo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

>>>
>>> Parts of AH need deep cloning, notably the formatData member, which
>>> is done in _ReopenArchive().
>>>
>>
>> Is it okay to clone this from within the thread?
>
> I don't see why not.
>

Because another thread may be modifying the memory you are trying to
clone. If no one modifies the formatData struct, then why is it being
deep copied to begin with.

>
> The program dies with a nasty dialog box when restoring a dump of the
> regression database after the second COPY thread disconnects.

Sounds like the friendly and helpful GPF Dialog (General Protection
Fault). This is a core dump which strongly suggests your threads are
trampling over one another. Its possible that a couple threads get
fired off but upon the first thread completion, something !(deep_copied)
is freed/modified ... bang-bang your dead :o I tried to find this, but
haven't yet.

Maybe do a full deep copy in the main thread and comment out any
in-thread deep copying. I wonder if that would work with no other changes.

--
Andrew Chernow
eSilo, LLC
every bit counts
http://www.esilo.com/

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Dan Chak 2008-12-09 18:55:10 syntax for reaching into records, specifically ts_stat results
Previous Message Tom Lane 2008-12-09 18:24:21 Re: cvs head initdb hangs on unixware