From 371dbddac3a1470309c1b8b8f703560fdac88eca Mon Sep 17 00:00:00 2001
From: yuanlinzhu <yuanlinzhu@actionsky.com>
Date: Tue, 29 Oct 2024 11:18:02 +0800
Subject: [PATCH 1/2] fix IdleHeartBeat inner 2399

---
 .../actiontech/dble/backend/datasource/PhysicalDatasource.java | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/main/java/com/actiontech/dble/backend/datasource/PhysicalDatasource.java b/src/main/java/com/actiontech/dble/backend/datasource/PhysicalDatasource.java
index d22d0de00d..eb6e9b67db 100644
--- a/src/main/java/com/actiontech/dble/backend/datasource/PhysicalDatasource.java
+++ b/src/main/java/com/actiontech/dble/backend/datasource/PhysicalDatasource.java
@@ -248,12 +248,11 @@ private void longIdleHeartBeat(ConcurrentLinkedQueue<BackendConnection> linkedQu
                 break;
             } else if (con.isClosed()) {
                 continue;
-            } else if (con.getLastTime() < hearBeatTime) { //if the connection is idle for a long time
+            } else if (!con.isBorrowed()) { //if the connection is idle for a long time
                 con.setBorrowed(true);
                 new ConnectionHeartBeatHandler().doHeartBeat(con);
             } else {
                 linkedQueue.offer(con);
-                break;
             }
         }
     }

From 6cfb037fae5284e44904f8a44319758ee88b6ee8 Mon Sep 17 00:00:00 2001
From: yuanlinzhu <yuanlinzhu@actionsky.com>
Date: Tue, 29 Oct 2024 15:11:12 +0800
Subject: [PATCH 2/2] fix

---
 .../actiontech/dble/backend/datasource/PhysicalDatasource.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/main/java/com/actiontech/dble/backend/datasource/PhysicalDatasource.java b/src/main/java/com/actiontech/dble/backend/datasource/PhysicalDatasource.java
index eb6e9b67db..540ca501d7 100644
--- a/src/main/java/com/actiontech/dble/backend/datasource/PhysicalDatasource.java
+++ b/src/main/java/com/actiontech/dble/backend/datasource/PhysicalDatasource.java
@@ -248,7 +248,7 @@ private void longIdleHeartBeat(ConcurrentLinkedQueue<BackendConnection> linkedQu
                 break;
             } else if (con.isClosed()) {
                 continue;
-            } else if (!con.isBorrowed()) { //if the connection is idle for a long time
+            } else if (con.getLastTime() < hearBeatTime) { //if the connection is idle for a long time
                 con.setBorrowed(true);
                 new ConnectionHeartBeatHandler().doHeartBeat(con);
             } else {