pg_rewind hangs if --source-server is used and syncrep is enabled - Mailing list pgsql-hackers

From Michael Banck
Subject pg_rewind hangs if --source-server is used and syncrep is enabled
Date
Msg-id 20161005143938.GA12247@nighthawk.caipicrew.dd-dns.de
Whole thread Raw
Responses Re: pg_rewind hangs if --source-server is used and syncrep is enabled  (Michael Banck <michael.banck@credativ.de>)
List pgsql-hackers
Hi,

if pg_rewind is told to fetch data via a libpq connection
(--source-server), synchronous replication is enabled and there is only
one sync standby (pilot error, but sill); pg_rewinding the old master
hangs at the CREATE TEMPORARY TABLE step (CREATE TABLE waiting for
X/XXXXXXXX).  At least this happened to one of our clients while
evaluating pg_rewind.

To the user, the last thing printed is "need to copy XXXX MB [...]".  If
the user cancels the pg_rewind command with ^C, the backend keeps
hanging around even in --dry-run mode.  That won't hurt too much as it
does not seem to block future pg_rewind runs after synchronous_commit
has been set to a different value, but looks surprising to me.

Not sure whether pg_rewind could error out gracefully without hanging in
this case, but maybe it could/should clean up the query on SIGTERM? And
at the least, maybe this caveat should be documented?


Michael

-- 
Michael Banck
Projektleiter / Senior Berater
Tel.: +49 2166 9901-171
Fax:  +49 2166 9901-100
Email: michael.banck@credativ.de

credativ GmbH, HRB Mönchengladbach 12080
USt-ID-Nummer: DE204566209
Trompeterallee 108, 41189 Mönchengladbach
Geschäftsführung: Dr. Michael Meskes, Jörg Folz, Sascha Heuer



pgsql-hackers by date:

Previous
From: Masahiko Sawada
Date:
Subject: Autovacuum launcher process launches worker process at high frequency
Next
From: Stephen Frost
Date:
Subject: Re: WIP: Secure Transport support as OpenSSL alternative on macOS