From fe32b5ef171ef6d9f3c1e2b2776acea2d6b45085 Mon Sep 17 00:00:00 2001 From: Lev Kokotov Date: Tue, 17 May 2022 13:05:25 -0700 Subject: [PATCH] Reduce traffic on the stats channel (#69) --- src/pool.rs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/pool.rs b/src/pool.rs index cc8b688..53803e7 100644 --- a/src/pool.rs +++ b/src/pool.rs @@ -209,23 +209,22 @@ impl ConnectionPool { let index = self.round_robin % addresses.len(); let address = &addresses[index]; - self.stats.client_waiting(process_id, address.id); - // Make sure you're getting a primary or a replica // as per request. If no specific role is requested, the first // available will be chosen. if address.role != role { - self.stats.client_disconnecting(process_id, address.id); continue; } allowed_attempts -= 1; if self.is_banned(address, shard, role) { - self.stats.client_disconnecting(process_id, address.id); 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 let mut conn = match self.databases[shard][index].get().await { Ok(conn) => conn,