From 37af04ffa27d7cf9519e6d4ee29d34c65d4133a8 Mon Sep 17 00:00:00 2001 From: Asi Bross <11426802+asibross@users.noreply.github.com> Date: Mon, 7 Oct 2024 12:51:34 -0700 Subject: [PATCH] When the EVCacheImpl cacheName is an empty string it should have the same behavior as null --- .../main/java/com/netflix/evcache/EVCacheImpl.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/evcache-core/src/main/java/com/netflix/evcache/EVCacheImpl.java b/evcache-core/src/main/java/com/netflix/evcache/EVCacheImpl.java index b17450b3..dca558fd 100644 --- a/evcache-core/src/main/java/com/netflix/evcache/EVCacheImpl.java +++ b/evcache-core/src/main/java/com/netflix/evcache/EVCacheImpl.java @@ -30,6 +30,7 @@ import com.netflix.evcache.util.KeyHasher; import com.netflix.evcache.util.RetryCount; import com.netflix.evcache.util.Sneaky; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -119,7 +120,7 @@ public class EVCacheImpl implements EVCache, EVCacheImplMBean { this._appName = appName; this._cacheName = cacheName; - if(_cacheName != null && _cacheName.length() > 0) { + if(StringUtils.isNotEmpty(_cacheName)) { for(int i = 0; i < cacheName.length(); i++) { if(Character.isWhitespace(cacheName.charAt(i))){ throw new IllegalArgumentException("Cache Prefix ``" + cacheName + "`` contains invalid character at position " + i ); @@ -134,9 +135,11 @@ public class EVCacheImpl implements EVCache, EVCacheImplMBean { tags = new ArrayList(3); EVCacheMetricsFactory.getInstance().addAppNameTags(tags, _appName); - if(_cacheName != null && _cacheName.length() > 0) tags.add(new BasicTag(EVCacheMetricsFactory.PREFIX, _cacheName)); + if(StringUtils.isNotEmpty(_cacheName)) { + tags.add(new BasicTag(EVCacheMetricsFactory.PREFIX, _cacheName)); + } - final String _metricName = (_cacheName == null) ? _appName : _appName + "." + _cacheName; + final String _metricName = StringUtils.isEmpty(_cacheName) ? _appName : _appName + "." + _cacheName; _metricPrefix = _appName + "-"; this._poolManager = poolManager; this._pool = poolManager.getEVCacheClientPool(_appName); @@ -145,7 +148,7 @@ public class EVCacheImpl implements EVCache, EVCacheImplMBean { _zoneFallbackFP = propertyRepository.get(_metricName + ".fallback.zone", Boolean.class).orElseGet(_appName + ".fallback.zone").orElse(true); _bulkZoneFallbackFP = propertyRepository.get(_appName + ".bulk.fallback.zone", Boolean.class).orElse(true); _bulkPartialZoneFallbackFP = propertyRepository.get(_appName+ ".bulk.partial.fallback.zone", Boolean.class).orElse(true); - if(_cacheName == null) { + if(StringUtils.isEmpty(_cacheName)) { _useInMemoryCache = propertyRepository.get(_appName + ".use.inmemory.cache", Boolean.class).orElseGet("evcache.use.inmemory.cache").orElse(false); } else { _useInMemoryCache = propertyRepository.get(_appName + "." + _cacheName + ".use.inmemory.cache", Boolean.class).orElseGet(_appName + ".use.inmemory.cache").orElseGet("evcache.use.inmemory.cache").orElse(false); @@ -207,7 +210,7 @@ EVCacheKey getEVCacheKey(final String key) { } final String canonicalKey; - if (this._cacheName == null) { + if (StringUtils.isEmpty(this._cacheName)) { canonicalKey = key; } else { final int keyLength = _cacheName.length() + 1 + key.length();