Repository: hbase Updated Branches: refs/heads/branch-2.1 b3c3393c1 -> 30727764a
HBASE-21323 Should not skip force updating for a sub procedure even if it has been finished; ADDENDUM Fix broke unit test. Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/30727764 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/30727764 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/30727764 Branch: refs/heads/branch-2.1 Commit: 30727764a3f9c30c41eaae4340ee7ea9723c1306 Parents: b3c3393 Author: Michael Stack <[email protected]> Authored: Thu Oct 18 13:48:02 2018 -0700 Committer: Michael Stack <[email protected]> Committed: Thu Oct 18 13:48:02 2018 -0700 ---------------------------------------------------------------------- .../procedure2/store/wal/TestForceUpdateProcedure.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/30727764/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/store/wal/TestForceUpdateProcedure.java ---------------------------------------------------------------------- diff --git a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/store/wal/TestForceUpdateProcedure.java b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/store/wal/TestForceUpdateProcedure.java index eb68955..bf5ce83 100644 --- a/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/store/wal/TestForceUpdateProcedure.java +++ b/hbase-procedure/src/test/java/org/apache/hadoop/hbase/procedure2/store/wal/TestForceUpdateProcedure.java @@ -24,6 +24,8 @@ import java.io.IOException; import java.util.HashMap; import java.util.Map; import java.util.concurrent.Exchanger; +import java.util.stream.Collectors; + import org.apache.hadoop.fs.Path; import org.apache.hadoop.hbase.HBaseClassTestRule; import org.apache.hadoop.hbase.HBaseCommonTestingUtility; @@ -209,7 +211,7 @@ public class TestForceUpdateProcedure { EXEC.submitProcedure(new ParentProcedure()); EXCHANGER.exchange(Boolean.TRUE); UTIL.waitFor(10000, () -> EXEC.getActiveExecutorCount() == 0); - // The above operations are used to make sure that we have persist the states of the two + // The above operations are to make sure that we have persisted the states of the two // procedures. long procId = EXEC.submitProcedure(new ExchangeProcedure()); assertEquals(1, STORE.getActiveLogs().size()); @@ -236,12 +238,13 @@ public class TestForceUpdateProcedure { Map<Class<?>, Procedure<Void>> procMap = new HashMap<>(); EXEC.getProcedures().stream().filter(p -> !p.isFinished()) .forEach(p -> procMap.put(p.getClass(), p)); - assertEquals(3, procMap.size()); + StringBuffer sb = new StringBuffer(); + String mapAsStr = procMap.entrySet().stream().map(e -> e.getKey() + " " + e.getValue()). + collect(Collectors.joining(", ")); + assertEquals(mapAsStr, 2, procMap.size()); ParentProcedure parentProc = (ParentProcedure) procMap.get(ParentProcedure.class); assertEquals(ProcedureState.WAITING, parentProc.getState()); WaitingProcedure waitingProc = (WaitingProcedure) procMap.get(WaitingProcedure.class); assertEquals(ProcedureState.WAITING_TIMEOUT, waitingProc.getState()); - DummyProcedure dummyProc = (DummyProcedure) procMap.get(DummyProcedure.class); - assertEquals(ProcedureState.SUCCESS, dummyProc.getState()); } }
