On Mon, Oct 17, 2011 at 6:53 AM, Fujii Masao <masao.fu...@gmail.com> wrote:
> WARNING:  canceling the wait for synchronous replication and
> terminating connection due to administrator command
> DETAIL:  The transaction has already committed locally, but might not
> have been replicated to the standby.
> backend> FATAL:  terminating connection due to administrator command
>
> The above is the server log messages that I got when I did the procedure.
> "backend> " is a junk. If a backend is terminated while it's waiting for
> synchronous replication, whereToSendOutput is set to DestNone. Then,
> whereToSendOutput=DestNone makes ReadCommand() call
> InteractiveBackend() which outputs "backend> ".
>
> This junk message might mess up the server log monitoring tools. I think
> it should be removed.
>
> The simple fix is to change InteractiveBackend() so that it calls
> CHECK_FOR_INTERRUPTS() before it outputs "backend> ". Thought?

I'm tempted to say we should do that in PostgresMain() instead, maybe
something like this:

diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c
index 976a832..9e5557c 100644
--- a/src/backend/tcop/postgres.c
+++ b/src/backend/tcop/postgres.c
@@ -3769,6 +3769,8 @@ PostgresMain(int argc, char *argv[], const char *username)
                MemoryContextSwitchTo(MessageContext);
                MemoryContextResetAndDeleteChildren(MessageContext);

+               CHECK_FOR_INTERRUPTS();
+
                initStringInfo(&input_message);

                /*

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to