From e44e4a699b2d2c3a4824b459c763391e7f8373df Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Mon, 14 Nov 2022 16:03:22 +0200 Subject: [PATCH] Downgrade log message, if client terminates COPY during basebackup import It's more or less expected from pageserver's point of view. Change the error kind to ConnectionReset, so that it gets logged at INFO level instead of ERROR. --- pageserver/src/page_service.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pageserver/src/page_service.rs b/pageserver/src/page_service.rs index 0919c5191a..eb9416a482 100644 --- a/pageserver/src/page_service.rs +++ b/pageserver/src/page_service.rs @@ -76,6 +76,12 @@ fn copyin_stream(pgb: &mut PostgresBackend) -> impl Stream bytes, FeMessage::CopyDone => { break }, FeMessage::Sync => continue, + FeMessage::Terminate => { + let msg = format!("client terminated connection with Terminate message during COPY"); + pgb.write_message(&BeMessage::ErrorResponse(&msg))?; + Err(io::Error::new(io::ErrorKind::ConnectionReset, msg))?; + break; + } m => { let msg = format!("unexpected message {:?}", m); pgb.write_message(&BeMessage::ErrorResponse(&msg))?; @@ -87,10 +93,10 @@ fn copyin_stream(pgb: &mut PostgresBackend) -> impl Stream { - let msg = "client closed connection"; + let msg = "client closed connection during COPY"; pgb.write_message(&BeMessage::ErrorResponse(msg))?; pgb.flush().await?; - Err(io::Error::new(io::ErrorKind::Other, msg))?; + Err(io::Error::new(io::ErrorKind::ConnectionReset, msg))?; } Err(e) => { Err(io::Error::new(io::ErrorKind::Other, e))?;