Re: parallel restore vs. windows - Mailing list pgsql-hackers

From Andrew Chernow
Subject Re: parallel restore vs. windows
Date
Msg-id 493EBDF3.6010008@esilo.com
Whole thread Raw
In response to Re: parallel restore vs. windows  (Andrew Dunstan <andrew@dunslane.net>)
Responses Re: parallel restore vs. windows  (Andrew Dunstan <andrew@dunslane.net>)
List 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/


pgsql-hackers by date:

Previous
From: "Robert Haas"
Date:
Subject: Re: contrib/pg_stat_statements 1202
Next
From: "Pavel Stehule"
Date:
Subject: Re: WIP: default values for function parameters