pg_recvlogical prints bogus error when interrupted - Mailing list pgsql-hackers

From Andres Freund
Subject pg_recvlogical prints bogus error when interrupted
Date
Msg-id 20221019213953.htdtzikf4f45ywil@awork3.anarazel.de
Whole thread Raw
Responses Re: pg_recvlogical prints bogus error when interrupted  (Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>)
List pgsql-hackers
Hi,

While reviewing
https://postgr.es/m/CAD21AoBe2o2D%3Dxyycsxw2bQOD%3DzPj7ETuJ5VYGN%3DdpoTiCMRJQ%40mail.gmail.com
I noticed that pg_recvlogical prints
"pg_recvlogical: error: unexpected termination of replication stream: "

when signalled with SIGINT/TERM.

Oddly enough, that looks to have "always" been the case, even though clearly
the code tried to make provisions for a different outcome.


It looks to me like all that's needed is to gate the block printing the
message with an !time_to_abort.


I also then noticed that we don't fsync the output file in cases of errors -
that seems wrong to me? Looks to me like that block should be moved till after
the error:?

Greetings,

Andres Freund



pgsql-hackers by date:

Previous
From: Peter Geoghegan
Date:
Subject: Re: shared memory stats ideas
Next
From: Andres Freund
Date:
Subject: Re: START_REPLICATION SLOT causing a crash in an assert build