From 48739f6d52a881b69d22c3ab026d195659196773 Mon Sep 17 00:00:00 2001 From: Shih-Hao Yeh Date: Wed, 4 Mar 2026 00:18:12 -0800 Subject: [PATCH] respect shutdown in refresh --- .../java/com/netflix/evcache/pool/EVCacheClientPool.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/evcache-core/src/main/java/com/netflix/evcache/pool/EVCacheClientPool.java b/evcache-core/src/main/java/com/netflix/evcache/pool/EVCacheClientPool.java index 00090b80..def316e8 100644 --- a/evcache-core/src/main/java/com/netflix/evcache/pool/EVCacheClientPool.java +++ b/evcache-core/src/main/java/com/netflix/evcache/pool/EVCacheClientPool.java @@ -151,7 +151,7 @@ public Property get(Object _serverGroup) { this._bulkReadTimeout = config.getPropertyRepository().get(appName + ".EVCacheClientPool.bulkReadTimeout", Integer.class).orElse(_readTimeout.get()); this._bulkReadTimeout.subscribe(callback); - this._sgDisabledTimeoutOnShutdown = config.getPropertyRepository().get(appName + ".EVCacheClientPool.sgDisabled.timeoutOnShutdown", Integer.class).orElseGet("EVCacheClientPool.sgDisabled.timeoutOnShutdown").orElse(30); + this._sgDisabledTimeoutOnShutdown = config.getPropertyRepository().get(appName + ".EVCacheClientPool.sgDisabled.timeoutOnShutdown", Integer.class).orElseGet("EVCacheClientPool.sgDisabled.timeoutOnShutdown").orElse(5); this.refreshConnectionOnReadQueueFull = config.getPropertyRepository().get(appName + ".EVCacheClientPool.refresh.connection.on.readQueueFull", Boolean.class).orElseGet("EVCacheClientPool.refresh.connection.on.readQueueFull").orElse(false); this.refreshConnectionOnReadQueueFullSize = config.getPropertyRepository().get(appName + ".EVCacheClientPool.refresh.connection.on.readQueueFull.size", Integer.class).orElseGet("EVCacheClientPool.refresh.connection.on.readQueueFull.size").orElse(100); @@ -1007,6 +1007,7 @@ private void cleanupMemcachedInstances(boolean force) { } private synchronized void refresh(boolean force) throws IOException { + if (_shutdown) return; final long start = System.currentTimeMillis(); if (log.isDebugEnabled()) log.debug("refresh APP : " + _appName + "; force : " + force); try { @@ -1301,7 +1302,7 @@ public void run() { } } - void shutdown() { + synchronized void shutdown() { if (log.isDebugEnabled()) log.debug("EVCacheClientPool for App : " + _appName + " and Zone : " + _zone + " is being shutdown."); _shutdown = true;