From bb855e660d77591d8f1ff143ecc02894dfad6567 Mon Sep 17 00:00:00 2001
From: Georgy Moshkin <gmoshkin@picodata.io>
Date: Tue, 27 Aug 2024 23:52:13 +0300
Subject: [PATCH] fix: use picodata's system connection pool for CAS requests

---
 src/cas.rs | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/cas.rs b/src/cas.rs
index 07152c3152..11911d99ef 100644
--- a/src/cas.rs
+++ b/src/cas.rs
@@ -1,7 +1,6 @@
 use crate::access_control;
 use crate::error_code::ErrorCode;
 use crate::proc_name;
-use crate::rpc;
 use crate::storage::Clusterwide;
 use crate::storage::ClusterwideTable;
 use crate::tlog;
@@ -89,12 +88,11 @@ pub fn compare_and_swap(
         // for example on shutdown
         res = proc_cas_local(request);
     } else {
-        let leader_address = node.storage.peer_addresses.try_get(leader_id)?;
-
         let future = async {
-            // TODO: use node.pool
-            rpc::network_call(&leader_address, proc_name!(proc_cas), request)
-                .deadline(deadline)
+            let timeout = deadline.duration_since(fiber::clock());
+            node.pool
+                .call(&leader_id, proc_name!(proc_cas), request, timeout)?
+                .timeout(timeout)
                 .await
                 .map_err(Into::into)
         };
-- 
GitLab