This is an automated email from the ASF dual-hosted git repository.
dengliming 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 e2ad1c6397 Fixes #6703:shut down invokeExecutor in
UpstreamCheckService.close() (#6921)
e2ad1c6397 is described below
commit e2ad1c63972d8180ca9cff574b74fbf5db26da21
Author: BobSong <[email protected]>
AuthorDate: Mon Sep 14 14:13:45 2026 +0800
Fixes #6703:shut down invokeExecutor in UpstreamCheckService.close() (#6921)
* fix: close upstream health check executor (#6703)
* fix: bump mvnd to 1.0.6
---------
Co-authored-by: aias00 <[email protected]>
Co-authored-by: Liming Deng <[email protected]>
---
.../shenyu/admin/service/impl/UpstreamCheckService.java | 3 +++
.../shenyu/admin/service/UpstreamCheckServiceTest.java | 14 ++++++++------
2 files changed, 11 insertions(+), 6 deletions(-)
diff --git
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/UpstreamCheckService.java
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/UpstreamCheckService.java
index 7fcbee74fe..3a6ef7d9ab 100644
---
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/UpstreamCheckService.java
+++
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/UpstreamCheckService.java
@@ -183,6 +183,9 @@ public class UpstreamCheckService {
if (Objects.nonNull(executor)) {
executor.shutdown();
}
+ if (Objects.nonNull(invokeExecutor)) {
+ invokeExecutor.shutdown();
+ }
}
}
diff --git
a/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/UpstreamCheckServiceTest.java
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/UpstreamCheckServiceTest.java
index a10c4541f3..2c91eddd12 100644
---
a/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/UpstreamCheckServiceTest.java
+++
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/UpstreamCheckServiceTest.java
@@ -56,7 +56,6 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.Properties;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.ScheduledThreadPoolExecutor;
@@ -266,12 +265,15 @@ public final class UpstreamCheckServiceTest {
@Test
public void testClose() {
- Properties properties = new Properties();
- properties.setProperty(Constants.IS_CHECKED, "true");
- shenyuRegisterCenterConfig.setProps(properties);
- upstreamCheckService = new UpstreamCheckService(selectorMapper,
eventPublisher, pluginMapper, selectorConditionMapper,
- shenyuRegisterCenterConfig, converterFactor,
discoveryUpstreamService);
+ ScheduledThreadPoolExecutor executor = new
ScheduledThreadPoolExecutor(1);
+ ScheduledThreadPoolExecutor invokeExecutor = new
ScheduledThreadPoolExecutor(1);
+ ReflectionTestUtils.setField(upstreamCheckService, "executor",
executor);
+ ReflectionTestUtils.setField(upstreamCheckService, "invokeExecutor",
invokeExecutor);
+
upstreamCheckService.close();
+
+ assertTrue(executor.isShutdown());
+ assertTrue(invokeExecutor.isShutdown());
}
private void setupZombieSet() {