diff --git a/blueflood-core/src/main/java/com/rackspacecloud/blueflood/service/ZKShardLockManager.java b/blueflood-core/src/main/java/com/rackspacecloud/blueflood/service/ZKShardLockManager.java index 873e89613..1a0c68e41 100644 --- a/blueflood-core/src/main/java/com/rackspacecloud/blueflood/service/ZKShardLockManager.java +++ b/blueflood-core/src/main/java/com/rackspacecloud/blueflood/service/ZKShardLockManager.java @@ -627,7 +627,7 @@ boolean canWork() { * Triggered during the connection loss. Release the lease, and clear the mutex. */ void connectionLost() { - release(false); + release(true); } synchronized void setState(LockState newState) { @@ -737,7 +737,7 @@ public Boolean call() throws Exception { return false; } finally { lockTaskCount.decrementAndGet(); - if (!disconnected) { + if (disconnected) { setState(LockState.ERROR); } else { setState(LockState.DISINTERESTED);