Skip to content

Commit

Permalink
Log error messages for network failures (#289)
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
drdrsh committed Jan 19, 2023
1 parent 99a3b98 commit 87a771a
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 13 deletions.
36 changes: 24 additions & 12 deletions src/messages.rs
Expand Up @@ -136,9 +136,10 @@ pub async fn startup(stream: &mut TcpStream, user: &str, database: &str) -> Resu

match stream.write_all(&startup).await {
Ok(_) => Ok(()),
Err(_) => {
Err(err) => {
return Err(Error::SocketError(format!(
"Error writing startup to server socket"
"Error writing startup to server socket - Error: {:?}",
err
)))
}
}
Expand Down Expand Up @@ -454,7 +455,12 @@ where
{
match stream.write_all(&buf).await {
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
)))
}
}
}

Expand All @@ -465,7 +471,12 @@ where
{
match stream.write_all(buf).await {
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
)))
}
}
}

Expand All @@ -476,19 +487,20 @@ where
{
let code = match stream.read_u8().await {
Ok(code) => code,
Err(_) => {
Err(err) => {
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 {
Ok(len) => len,
Err(_) => {
Err(err) => {
return Err(Error::SocketError(format!(
"Error reading message len from socket, code: {:?}",
code
"Error reading message len from socket - Code: {:?}, Error: {:?}",
code, err
)))
}
};
Expand All @@ -509,10 +521,10 @@ where
.await
{
Ok(_) => (),
Err(_) => {
Err(err) => {
return Err(Error::SocketError(format!(
"Error reading message from socket, code: {:?}",
code
"Error reading message from socket - Code: {:?}, Error: {:?}",
code, err
)))
}
};
Expand Down
2 changes: 1 addition & 1 deletion tests/ruby/load_balancing_spec.rb
Expand Up @@ -93,7 +93,7 @@
threads = Array.new(slow_query_count) do
Thread.new do
conn = PG.connect(processes.pgcat.connection_string("sharded_db", "sharding_user"))
conn.async_exec("SELECT pg_sleep(1)")
conn.async_exec("BEGIN")
end
end

Expand Down

0 comments on commit 87a771a

Please sign in to comment.