Re: pg_upgrade -j broken on Windows - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: pg_upgrade -j broken on Windows
Date
Msg-id 20130726173145.GA16219@momjian.us
Whole thread Raw
In response to Re: pg_upgrade -j broken on Windows  (Bruce Momjian <bruce@momjian.us>)
Responses Re: pg_upgrade -j broken on Windows
List pgsql-hackers
On Fri, Jul 26, 2013 at 01:27:34PM -0400, Bruce Momjian wrote:
> On Thu, Jul 25, 2013 at 10:57:28AM -0400, Bruce Momjian wrote:
> > Everyone should be aware that the 9.3 pg_upgrade -j/--jobs option on
> > Windows is currently broken, and hopefully will be fixed by the next
> > beta.
> >
> > Someone at PGDay UK told me they were getting pg_upgrade -j crashes on
> > Windows.  Andrew Dunstan was able to reproduce the crash, and that has
> > been fixed, but there is still a race condition that I am trying to
> > diagnose.
>
> After three days of testing and creating a Windows MinGW build
> environment (with Andrew's help), I have come up with the attached patch
> which fixes the pg_upgrade -j race condition on Windows.  In summary,
> creating a file with fopen() from a non-primary thread and then calling
> system() soon after can result in a file-in-use error.  The solution was
> to issue the fopen() after system() in such cases.
>
> This would be applied to head and 9.3.

Sorry, patch attached.

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +

Attachment

pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: pg_upgrade -j broken on Windows
Next
From: Robert Haas
Date:
Subject: Re: getting rid of SnapshotNow