|From:||Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp>|
|Subject:||Re: Parallel pg_dump's error reporting doesn't work worth squat|
|Views:||Raw Message | Whole Thread | Download mbox | Resend email|
> Sounds reasonable. I look into this further.
I looked into that and found one problem in the patch.
> Next, I got the following behavior for the following command,
> then freeze. Maybe stopping at the same point with the next
> paragraph but I'm not sure. The same thing occurs this patch on
> top of the current master but doesn't on Linux.
This occurs in the following steps.
1. One of the workers dies from some reason.
(InitCompressorZlib immediately goes into exit_horribly in this case)
2. The main thread detects in ListenToWorkers that the worker is dead.
3. ListenToWorkers calls exit_horribly then exit_nicely
4. exit_nicely calls archive_close_connection as a callback then
the callback calls ShutdownWorkersHard
5. ShutdownWorkersHard should close the write side of the pipe
but the patch skips it for WIN32.
So, the attached patch on top the patch fixes that, that is,
pg_dump returns to command prompt even for the case.
By the way, the reason of the "invalid snapshot identifier" is
that some worker threads try to use it after the connection on
the first worker closed. Some of the workers succesfully did
before the connection closing and remained listening to their
master to inhibit termination of the entire process.
NTT Open Source Software Center
|Next Message||Etsuro Fujita||2016-05-26 07:18:15||Re: Optimization for updating foreign tables in Postgres FDW|
|Previous Message||Noah Misch||2016-05-26 05:57:58||Re: statistics for shared catalogs not updated when autovacuum is off|