commit bf1dfb8d57b7594a51f9e880ae65a1d6f9192ebc Author: MichaƂ Gregorczyk Date: Wed Sep 5 17:32:53 2012 -0700 fix TestSplitLogWorker diff --git a/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitLogWorker.java b/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitLogWorker.java index ee23524..f6789c5 100644 --- a/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitLogWorker.java +++ b/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitLogWorker.java @@ -88,6 +88,20 @@ public class TestSplitLogWorker { } assertTrue(false); } + + private boolean isTaskOwnerCorrect(String filename, String workerNameBeginning) { + byte[] nameBeginning = TaskState.TASK_OWNED.get(workerNameBeginning); + byte[] name = zkw.getData("", ZKSplitLog.getEncodedNodeName(zkw, filename)); + if (name.length < nameBeginning.length) { + return false; + } + for (int i = 0; i < nameBeginning.length; ++i) { + if (name[i] != nameBeginning[i]){ + return false; + } + } + return true; + } @BeforeClass public static void setUpBeforeClass() throws Exception { @@ -157,8 +171,7 @@ public class TestSplitLogWorker { neverEndingTask); slw.start(); waitForCounter(tot_wkr_task_acquired, 0, 1, 100); - assertTrue(TaskState.TASK_OWNED.equals( - zkw.getData("", ZKSplitLog.getEncodedNodeName(zkw, "tatas")), "rs")); + assertTrue(isTaskOwnerCorrect("tatas", "rs")); } @Test @@ -183,12 +196,7 @@ public class TestSplitLogWorker { } }; waitForCounter(e, 0, 1, 1000); - assertTrue(TaskState.TASK_OWNED.equals( - zkw.getData("", ZKSplitLog.getEncodedNodeName(zkw, "trft")), "svr1") - || TaskState.TASK_OWNED - .equals( - zkw.getData("", ZKSplitLog.getEncodedNodeName(zkw, "trft")), - "svr2")); + assertTrue(isTaskOwnerCorrect("trft", "svr1") || isTaskOwnerCorrect("trft", "svr2")); slw1.stop(); slw2.stop(); slw1.worker.join(); @@ -212,9 +220,7 @@ public class TestSplitLogWorker { waitForCounter(tot_wkr_task_acquired, 0, 1, 1000); assertEquals(1, slw.taskReadySeq); - assertTrue(TaskState.TASK_OWNED.equals( - zkw.getData("", ZKSplitLog.getEncodedNodeName(zkw, "tpt_task")), - "tpt_svr")); + assertTrue(isTaskOwnerCorrect("tpt_task", "tpt_svr")); zkw.setData(ZKSplitLog.getEncodedNodeName(zkw, "tpt_task"), TaskState.TASK_UNASSIGNED.get("manager")); @@ -249,9 +255,7 @@ public class TestSplitLogWorker { waitForCounter(tot_wkr_task_acquired, 1, 2, 1000); assertEquals(2, slw.taskReadySeq); - assertTrue(TaskState.TASK_OWNED.equals( - zkw.getData("", ZKSplitLog.getEncodedNodeName(zkw, "tmt_task_2")), - "tmt_svr")); + assertTrue(isTaskOwnerCorrect("tmt_task_2", "tmt_svr")); } @Test