This is an automated email from the ASF dual-hosted git repository.

hefengen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shenyu.git


The following commit(s) were added to refs/heads/master by this push:
     new fcad7062ae [fix] fix heartbeat logic (#5970)
fcad7062ae is described below

commit fcad7062ae2fc6dec6649ea3b275dfe2f6b8adc3
Author: aias00 <[email protected]>
AuthorDate: Tue Mar 25 10:34:21 2025 +0800

    [fix] fix heartbeat logic (#5970)
---
 .../admin/disruptor/subscriber/URIRegisterExecutorSubscriber.java | 2 +-
 .../disruptor/subcriber/ShenyuClientURIExecutorSubscriber.java    | 8 +++++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/disruptor/subscriber/URIRegisterExecutorSubscriber.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/disruptor/subscriber/URIRegisterExecutorSubscriber.java
index 5ff30e5ebd..254e268fa0 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/disruptor/subscriber/URIRegisterExecutorSubscriber.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/disruptor/subscriber/URIRegisterExecutorSubscriber.java
@@ -95,7 +95,7 @@ public class URIRegisterExecutorSubscriber implements 
ExecutorTypeSubscriber<URI
                                 
heartbeat.stream().map(URIRegisterDTO::getNamespaceId)
                                         .filter(StringUtils::isNotBlank)
                                         .findFirst()
-                                        .ifPresent(namespaceId -> 
service.heartbeat(selectorName, register, namespaceId));
+                                        .ifPresent(namespaceId -> 
service.heartbeat(selectorName, heartbeat, namespaceId));
                             }
                             if (CollectionUtils.isNotEmpty(offline)) {
                                 
offline.stream().map(URIRegisterDTO::getNamespaceId)
diff --git 
a/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/disruptor/subcriber/ShenyuClientURIExecutorSubscriber.java
 
b/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/disruptor/subcriber/ShenyuClientURIExecutorSubscriber.java
index 6fa228dc88..c7d1270447 100644
--- 
a/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/disruptor/subcriber/ShenyuClientURIExecutorSubscriber.java
+++ 
b/shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/disruptor/subcriber/ShenyuClientURIExecutorSubscriber.java
@@ -63,7 +63,13 @@ public class ShenyuClientURIExecutorSubscriber implements 
ExecutorTypeSubscriber
         ThreadFactory requestFactory = 
ShenyuThreadFactory.create("heartbeat-reporter", true);
         executor = new ScheduledThreadPoolExecutor(1, requestFactory);
         
-        executor.scheduleAtFixedRate(() -> URIS.forEach(this::sendHeartbeat), 
30, 30, TimeUnit.SECONDS);
+        executor.scheduleAtFixedRate(() -> {
+            try {
+                URIS.forEach(this::sendHeartbeat);
+            } catch (Exception e) {
+                LOG.error("send heartbeat error", e);
+            }
+        }, 30, 30, TimeUnit.SECONDS);
     }
     
     @Override

Reply via email to