Re: parallel restore vs. windows
От | Andrew Dunstan |
---|---|
Тема | Re: parallel restore vs. windows |
Дата | |
Msg-id | 493EC8BF.2090103@dunslane.net обсуждение исходный текст |
Ответ на | Re: parallel restore vs. windows (Andrew Chernow <ac@esilo.com>) |
Ответы |
Re: parallel restore vs. windows
|
Список | pgsql-hackers |
Andrew Chernow wrote: >>>> >>>> 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. I'll try. It's unfortunately not as simple as it sounds, because of the way the abstractions are arranged. I can't count the number of times I have had to stop and try to clear my head while working on this code. Thanks for the suggestion. cheers andrew
В списке pgsql-hackers по дате отправления: