diff options
Diffstat (limited to 'messagebus')
-rwxr-xr-x | messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCServicePool.java | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCServicePool.java b/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCServicePool.java index e4cfd0bc630..a666a03c401 100755 --- a/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCServicePool.java +++ b/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCServicePool.java @@ -38,13 +38,7 @@ public class RPCServicePool { */ public RPCServiceAddress resolve(String pattern) { - ServiceLRUCache cache = getPerThreadCache(); - RPCService service = cache.get(pattern); - if (service == null) { - service = RPCService.create(net.getMirror(), pattern); - cache.put(pattern, service); - } - return service.resolve(); + return getPerThreadCache().computeIfAbsent(pattern, (key) -> RPCService.create(net.getMirror(), key)).resolve(); } private ServiceLRUCache getPerThreadCache() { |