Compare commits

..

3 Commits

Author SHA1 Message Date
Lev Kokotov
61db13f614 Fix memory leak in client/server mapping (#71) 2022-05-18 16:24:03 -07:00
Lev Kokotov
fe32b5ef17 Reduce traffic on the stats channel (#69) 2022-05-17 13:05:25 -07:00
Lev Kokotov
54699222f8 Possible fix for clients waiting stat leak (#68) 2022-05-14 21:35:33 -07:00
2 changed files with 5 additions and 2 deletions

View File

@@ -434,6 +434,8 @@ impl Client {
server.query("DISCARD ALL").await?; server.query("DISCARD ALL").await?;
} }
self.release();
return Ok(()); return Ok(());
} }

View File

@@ -209,8 +209,6 @@ impl ConnectionPool {
let index = self.round_robin % addresses.len(); let index = self.round_robin % addresses.len();
let address = &addresses[index]; let address = &addresses[index];
self.stats.client_waiting(process_id, address.id);
// Make sure you're getting a primary or a replica // Make sure you're getting a primary or a replica
// as per request. If no specific role is requested, the first // as per request. If no specific role is requested, the first
// available will be chosen. // available will be chosen.
@@ -224,6 +222,9 @@ impl ConnectionPool {
continue; continue;
} }
// Indicate we're waiting on a server connection from a pool.
self.stats.client_waiting(process_id, address.id);
// Check if we can connect // Check if we can connect
let mut conn = match self.databases[shard][index].get().await { let mut conn = match self.databases[shard][index].get().await {
Ok(conn) => conn, Ok(conn) => conn,