From 32c0cf32c785fd8bb6ee3233861362688644a849 Mon Sep 17 00:00:00 2001 From: Michael Stack Date: Thu, 18 Oct 2018 13:48:02 -0700 Subject: [PATCH] HBASE-21323 Should not skip force updating for a sub procedure even if it has been finished; ADDENDUM Fix broke unit test. --- .../hbase/procedure2/store/wal/TestForceUpdateProcedure.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) 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 eb68955f58..bf5ce8374e 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, Procedure> 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()); } } -- 2.16.3