Re: pg_upgrade -j broken on Windows

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: pg_upgrade -j broken on Windows
Дата
Msg-id 20130726172734.GA27611@momjian.us
обсуждение исходный текст
Ответ на pg_upgrade -j broken on Windows  (Bruce Momjian <bruce@momjian.us>)
Ответы Re: pg_upgrade -j broken on Windows  (Bruce Momjian <bruce@momjian.us>)
Список pgsql-hackers
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.

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://enterprisedb.com
 + It's impossible for everything to be true. +



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Fujii Masao
Дата:
Сообщение: Re: Condition to become the standby mode.
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: pg_upgrade -j broken on Windows