Log error messages for network failures (#289)

We are seeing some Error reading message code from socket error messages, we want to get more context so this PR logs the actual error reported.
This commit is contained in:
Mostafa Abdelraouf
2023-01-19 05:18:08 -06:00
committed by GitHub
parent 99a3b9896d
commit 87a771aecc
2 changed files with 25 additions and 13 deletions

View File

@@ -136,9 +136,10 @@ pub async fn startup(stream: &mut TcpStream, user: &str, database: &str) -> Resu
match stream.write_all(&startup).await { match stream.write_all(&startup).await {
Ok(_) => Ok(()), Ok(_) => Ok(()),
Err(_) => { Err(err) => {
return Err(Error::SocketError(format!( return Err(Error::SocketError(format!(
"Error writing startup to server socket" "Error writing startup to server socket - Error: {:?}",
err
))) )))
} }
} }
@@ -454,7 +455,12 @@ where
{ {
match stream.write_all(&buf).await { match stream.write_all(&buf).await {
Ok(_) => Ok(()), Ok(_) => Ok(()),
Err(_) => return Err(Error::SocketError(format!("Error writing to socket"))), Err(err) => {
return Err(Error::SocketError(format!(
"Error writing to socket - Error: {:?}",
err
)))
}
} }
} }
@@ -465,7 +471,12 @@ where
{ {
match stream.write_all(buf).await { match stream.write_all(buf).await {
Ok(_) => Ok(()), Ok(_) => Ok(()),
Err(_) => return Err(Error::SocketError(format!("Error writing to socket"))), Err(err) => {
return Err(Error::SocketError(format!(
"Error writing to socket - Error: {:?}",
err
)))
}
} }
} }
@@ -476,19 +487,20 @@ where
{ {
let code = match stream.read_u8().await { let code = match stream.read_u8().await {
Ok(code) => code, Ok(code) => code,
Err(_) => { Err(err) => {
return Err(Error::SocketError(format!( return Err(Error::SocketError(format!(
"Error reading message code from socket" "Error reading message code from socket - Error {:?}",
err
))) )))
} }
}; };
let len = match stream.read_i32().await { let len = match stream.read_i32().await {
Ok(len) => len, Ok(len) => len,
Err(_) => { Err(err) => {
return Err(Error::SocketError(format!( return Err(Error::SocketError(format!(
"Error reading message len from socket, code: {:?}", "Error reading message len from socket - Code: {:?}, Error: {:?}",
code code, err
))) )))
} }
}; };
@@ -509,10 +521,10 @@ where
.await .await
{ {
Ok(_) => (), Ok(_) => (),
Err(_) => { Err(err) => {
return Err(Error::SocketError(format!( return Err(Error::SocketError(format!(
"Error reading message from socket, code: {:?}", "Error reading message from socket - Code: {:?}, Error: {:?}",
code code, err
))) )))
} }
}; };

View File

@@ -93,7 +93,7 @@ describe "Least Outstanding Queries Load Balancing" do
threads = Array.new(slow_query_count) do threads = Array.new(slow_query_count) do
Thread.new do Thread.new do
conn = PG.connect(processes.pgcat.connection_string("sharded_db", "sharding_user")) conn = PG.connect(processes.pgcat.connection_string("sharded_db", "sharding_user"))
conn.async_exec("SELECT pg_sleep(1)") conn.async_exec("BEGIN")
end end
end end