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 04:03:23
Message-ID: 493DEE0B.1010202@esilo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Andrew Dunstan wrote:
>
>
> Andrew Chernow wrote:
>>
>>>> HANDLE h = (HANDLE)_beginthreadex(NULL, 0, thread_start, arg, 0, NULL);
>>>
>>> This didn't give me any more joy, unfortunately. But you're right, I
>>> should be using it.
>>>
>>
>> Are these threads sharing memory, intentionally or by mistake?
>
>
> Things they write, and things they read but might not be stable, are not
> supposed to be shared. If they are it's a mistake.
>

Looks like the ArchiveHandle variable 'AH' and the TocEntry 'next_work_item' are
not being deep copied at line 315 of your patch, where you prepare the
RestoreArgs struct for the thread. Every thread is accessing and possibly
updating the members of these structs that need to be deep copied.

--
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 Andrew Chernow 2008-12-09 04:09:48 Re: parallel restore vs. windows
Previous Message Andrew Dunstan 2008-12-09 03:48:38 Re: parallel restore vs. windows