summaryrefslogtreecommitdiffstats
path: root/zkfacade
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2022-10-11 09:31:50 +0200
committerjonmv <venstad@gmail.com>2022-10-11 09:31:50 +0200
commitf6f2ae9aaddd11eba42983b520571639891a48c1 (patch)
tree1c4675ed5e27c903f53c46dab8e336b86e7e70d7 /zkfacade
parent83787dad43ff9d69955133e0df1d8de2e2a11ed6 (diff)
Stabilize unit test
Diffstat (limited to 'zkfacade')
-rw-r--r--zkfacade/src/main/java/com/yahoo/vespa/curator/SingletonManager.java7
-rw-r--r--zkfacade/src/test/java/com/yahoo/vespa/curator/CuratorWrapperTest.java2
2 files changed, 5 insertions, 4 deletions
diff --git a/zkfacade/src/main/java/com/yahoo/vespa/curator/SingletonManager.java b/zkfacade/src/main/java/com/yahoo/vespa/curator/SingletonManager.java
index 9b18a73543b..d116b57f506 100644
--- a/zkfacade/src/main/java/com/yahoo/vespa/curator/SingletonManager.java
+++ b/zkfacade/src/main/java/com/yahoo/vespa/curator/SingletonManager.java
@@ -147,8 +147,8 @@ class SingletonManager implements AutoCloseable {
public void unlock() {
doom.set(null);
if (lock != null) try {
- lock.close();
metrics.hasLease(false);
+ lock.close();
lock = null;
}
catch (Exception e) {
@@ -255,7 +255,8 @@ class SingletonManager implements AutoCloseable {
*/
private void renewLease() {
if (doom.get() == INVALID || singletons.isEmpty()) {
- unlock();
+ doom.set(null);
+ return; // Skip to updateStatus, deactivation, and release the lock.
}
// Witness value to detect if invalidation occurs between here and successful ping.
Instant ourDoom = doom.get();
@@ -299,8 +300,8 @@ class SingletonManager implements AutoCloseable {
}
if (active && ! shouldBeActive) {
try {
- active = false;
if ( ! singletons.isEmpty()) metrics.deactivation(singletons.peek()::deactivate);
+ active = false;
}
catch (RuntimeException e) {
logger.log(Level.WARNING, "Failed to deactivate " + singletons.peek(), e);
diff --git a/zkfacade/src/test/java/com/yahoo/vespa/curator/CuratorWrapperTest.java b/zkfacade/src/test/java/com/yahoo/vespa/curator/CuratorWrapperTest.java
index e07ec307108..1ff639ed75a 100644
--- a/zkfacade/src/test/java/com/yahoo/vespa/curator/CuratorWrapperTest.java
+++ b/zkfacade/src/test/java/com/yahoo/vespa/curator/CuratorWrapperTest.java
@@ -288,8 +288,8 @@ public class CuratorWrapperTest {
// Simulate connection loss for our singleton's ZK session.
((MockCuratorFramework) wrapped.framework()).connectionStateListeners.listeners.forEach(listener -> listener.stateChanged(null, ConnectionState.LOST));
- stunning.arriveAndAwaitAdvance();
singleton.phaser.arriveAndAwaitAdvance();
+ stunning.arriveAndAwaitAdvance();
assertFalse(singleton.isActive);
verifyMetrics(Map.of("activation.count", 1.0,
"activation.millis", 0.0,