diff options
author | Håkon Hallingstad <hakon@verizonmedia.com> | 2020-09-28 12:10:38 +0200 |
---|---|---|
committer | Håkon Hallingstad <hakon@verizonmedia.com> | 2020-09-28 12:10:38 +0200 |
commit | 6e284ef06a2e6dafbaeae8e486b6f68fa53d5d48 (patch) | |
tree | c3e86ef7861f3a92fe984e0d7685a466a786960d /zkfacade/src/test/java/com/yahoo/vespa/curator/stats/LockTest.java | |
parent | d7118a218d4704b52ed9883e4ff381a519adb7c1 (diff) |
Use deque as stack
Diffstat (limited to 'zkfacade/src/test/java/com/yahoo/vespa/curator/stats/LockTest.java')
-rw-r--r-- | zkfacade/src/test/java/com/yahoo/vespa/curator/stats/LockTest.java | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/zkfacade/src/test/java/com/yahoo/vespa/curator/stats/LockTest.java b/zkfacade/src/test/java/com/yahoo/vespa/curator/stats/LockTest.java index 4b9b6a4429b..984a04c6d4e 100644 --- a/zkfacade/src/test/java/com/yahoo/vespa/curator/stats/LockTest.java +++ b/zkfacade/src/test/java/com/yahoo/vespa/curator/stats/LockTest.java @@ -110,4 +110,27 @@ public class LockTest { expectedCounters.locksReleasedCount.set(2); assertEquals(Map.of(lockPath, expectedCounters), ThreadLockInfo.getLockCountersByPath()); } + + @Test + public void nestedLocks() throws Exception { + when(mutex.acquire(anyLong(), any())).thenReturn(true); + + String lockPath2 = "/lock/path/2"; + Lock lock2 = new Lock(lockPath2, mutex); + + lock.acquire(acquireTimeout); + lock2.acquire(acquireTimeout); + + List<ThreadLockInfo> threadLockInfos = ThreadLockInfo.getThreadLockInfos(); + assertEquals(1, threadLockInfos.size()); + List<LockInfo> lockInfos = threadLockInfos.get(0).getLockInfos(); + assertEquals(2, lockInfos.size()); + assertEquals(lockPath, lockInfos.get(0).getLockPath()); + assertEquals(LockInfo.LockState.ACQUIRED, lockInfos.get(0).getLockState()); + assertEquals(lockPath2, lockInfos.get(1).getLockPath()); + assertEquals(LockInfo.LockState.ACQUIRED, lockInfos.get(1).getLockState()); + + lock.close(); + lock.close(); + } } |