HBASE-22427 HBOSS: TestTreeLockManager fails on non-ZK implementations.
Signed-off-by: Sean Busbey <busbey@apache.org>
diff --git a/hbase-oss/src/test/java/org/apache/hadoop/hbase/oss/sync/LocalTreeLockManager.java b/hbase-oss/src/test/java/org/apache/hadoop/hbase/oss/sync/LocalTreeLockManager.java
index 97cba26..bb5ce82 100644
--- a/hbase-oss/src/test/java/org/apache/hadoop/hbase/oss/sync/LocalTreeLockManager.java
+++ b/hbase-oss/src/test/java/org/apache/hadoop/hbase/oss/sync/LocalTreeLockManager.java
@@ -179,7 +179,7 @@
LOG.warn("Child write lock current held: {}", p);
return true;
}
- if (level <= maxLevel) {
+ if (level < maxLevel) {
Set<Path> childPaths = currentNode.children.keySet();
for (Path child : childPaths) {
if (writeLockBelow(child, level+1, maxLevel)) {
@@ -197,7 +197,7 @@
LOG.warn("Child read lock currently held: {}", p);
return true;
}
- if (level <= maxLevel) {
+ if (level < maxLevel) {
Set<Path> childPaths = index.get(p).children.keySet();
for (Path child : childPaths) {
if (readLockBelow(child, level+1, maxLevel)) {
diff --git a/hbase-oss/src/test/java/org/apache/hadoop/hbase/oss/sync/TestTreeLockManager.java b/hbase-oss/src/test/java/org/apache/hadoop/hbase/oss/sync/TestTreeLockManager.java
index 5efc349..6fb3285 100644
--- a/hbase-oss/src/test/java/org/apache/hadoop/hbase/oss/sync/TestTreeLockManager.java
+++ b/hbase-oss/src/test/java/org/apache/hadoop/hbase/oss/sync/TestTreeLockManager.java
@@ -22,10 +22,12 @@
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.hadoop.hbase.oss.sync.AutoLock;
+import org.apache.hadoop.hbase.oss.sync.NullTreeLockManager;
import org.apache.hadoop.hbase.oss.sync.TreeLockManager;
import org.apache.hadoop.hbase.oss.sync.TreeLockManager.Depth;
import org.apache.hadoop.fs.Path;
import org.junit.Assert;
+import org.junit.Assume;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -36,6 +38,8 @@
@Test
public void testLockBelowChecks() throws Exception {
+ Assume.assumeFalse(sync instanceof NullTreeLockManager);
+
Path parent = testPath("testListingLevels");
Path child = new Path(parent, "child");
Path deepWrite = new Path(child, "w");