Bugfixes for DistributedLockManager functionality
Added a method called broadcastIncludeSelf to ClusterCommunicationService.
Cosmetic improvements: added toString methods
Change-Id: I1d58720c29e6f8642f950670c3a6d95a7019a491
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/DistributedLock.java b/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/DistributedLock.java
index c466941..cef53a5 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/DistributedLock.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/service/impl/DistributedLock.java
@@ -80,6 +80,7 @@
return false;
}
}
+ isLocked.set(true);
lockExpirationTime = DateTime.now().plusMillis(leaseDurationMillis);
return true;
}
@@ -95,9 +96,11 @@
if (DateTime.now().isAfter(lockExpirationTime)) {
isLocked.set(false);
return false;
+ } else {
+ return true;
}
}
- return true;
+ return false;
}
@Override
@@ -105,6 +108,7 @@
if (!isLocked()) {
return;
} else {
+ isLocked.set(false);
databaseService.removeIfValueMatches(DistributedLockManager.ONOS_LOCK_TABLE_NAME, path, lockId);
}
}