diff --git a/src/main/java/net/spy/memcached/MemcachedClient.java b/src/main/java/net/spy/memcached/MemcachedClient.java index 77d0f04..4e77434 100644 --- a/src/main/java/net/spy/memcached/MemcachedClient.java +++ b/src/main/java/net/spy/memcached/MemcachedClient.java @@ -1292,8 +1292,11 @@ public class MemcachedClient extends SpyObject implements MemcachedClientIF, StringUtils.validateKey(key, opFact instanceof BinaryOperationFactory); final MemcachedNode primaryNode = locator.getPrimary(key); MemcachedNode node = null; - if (primaryNode.isActive()) { + if (primaryNode.isActive() || connFactory.getFailureMode() == FailureMode.Retry) { node = primaryNode; + } else if (connFactory.getFailureMode() == FailureMode.Cancel) { + // skip - cache miss + continue; } else { for (Iterator i = locator.getSequence(key); node == null && i.hasNext();) {