diff --git a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/SCMHAManagerImpl.java b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/SCMHAManagerImpl.java index 5271ac6f8e90..966db437e7c3 100644 --- a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/SCMHAManagerImpl.java +++ b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/SCMHAManagerImpl.java @@ -48,7 +48,7 @@ public class SCMHAManagerImpl implements SCMHAManager { private static final Logger LOG = LoggerFactory.getLogger(SCMHAManagerImpl.class); - private final SCMRatisServerImpl ratisServer; + private final SCMRatisServer ratisServer; private final ConfigurationSource conf; /** diff --git a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineManagerV2Impl.java b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineManagerV2Impl.java index 48fbdbff440f..3f2f6e2beba6 100644 --- a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineManagerV2Impl.java +++ b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineManagerV2Impl.java @@ -49,7 +49,6 @@ import java.util.List; import java.util.Map; import java.util.NavigableSet; -import java.util.Optional; import java.util.Set; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; @@ -144,7 +143,6 @@ public static PipelineManagerV2Impl newPipelineManager( @Override public Pipeline createPipeline(ReplicationType type, ReplicationFactor factor) throws IOException { - checkLeader(); if (!isPipelineCreationAllowed() && factor != ReplicationFactor.ONE) { LOG.debug("Pipeline creation is not allowed until safe mode prechecks " + "complete"); @@ -275,7 +273,6 @@ public List getPipelines( @Override public void addContainerToPipeline( PipelineID pipelineID, ContainerID containerID) throws IOException { - checkLeader(); lock.writeLock().lock(); try { stateManager.addContainerToPipeline(pipelineID, containerID); @@ -287,7 +284,6 @@ public void addContainerToPipeline( @Override public void removeContainerFromPipeline( PipelineID pipelineID, ContainerID containerID) throws IOException { - checkLeader(); lock.writeLock().lock(); try { stateManager.removeContainerFromPipeline(pipelineID, containerID); @@ -299,7 +295,6 @@ public void removeContainerFromPipeline( @Override public NavigableSet getContainersInPipeline( PipelineID pipelineID) throws IOException { - checkLeader(); lock.readLock().lock(); try { return stateManager.getContainers(pipelineID); @@ -310,13 +305,11 @@ public NavigableSet getContainersInPipeline( @Override public int getNumberOfContainers(PipelineID pipelineID) throws IOException { - checkLeader(); return stateManager.getNumberOfContainers(pipelineID); } @Override public void openPipeline(PipelineID pipelineId) throws IOException { - checkLeader(); lock.writeLock().lock(); try { Pipeline pipeline = stateManager.getPipeline(pipelineId); @@ -342,7 +335,6 @@ public void openPipeline(PipelineID pipelineId) throws IOException { * @throws IOException */ protected void removePipeline(Pipeline pipeline) throws IOException { - checkLeader(); pipelineFactory.close(pipeline.getType(), pipeline); PipelineID pipelineID = pipeline.getId(); lock.writeLock().lock(); @@ -364,7 +356,6 @@ protected void removePipeline(Pipeline pipeline) throws IOException { */ protected void closeContainersForPipeline(final PipelineID pipelineId) throws IOException { - checkLeader(); Set containerIDs = stateManager.getContainers(pipelineId); for (ContainerID containerID : containerIDs) { eventPublisher.fireEvent(SCMEvents.CLOSE_CONTAINER, containerID); @@ -380,7 +371,6 @@ protected void closeContainersForPipeline(final PipelineID pipelineId) @Override public void closePipeline(Pipeline pipeline, boolean onTimeout) throws IOException { - checkLeader(); PipelineID pipelineID = pipeline.getId(); lock.writeLock().lock(); try { @@ -410,8 +400,6 @@ public void closePipeline(Pipeline pipeline, boolean onTimeout) @Override public void scrubPipeline(ReplicationType type, ReplicationFactor factor) throws IOException { - checkLeader(); - Instant currentTime = Instant.now(); Long pipelineScrubTimeoutInMills = conf.getTimeDuration( ScmConfigKeys.OZONE_SCM_PIPELINE_ALLOCATED_TIMEOUT, @@ -484,7 +472,6 @@ public int minPipelineLimit(Pipeline pipeline) { @Override public void activatePipeline(PipelineID pipelineID) throws IOException { - checkLeader(); stateManager.updatePipelineState(pipelineID.getProtobuf(), HddsProtos.PipelineState.PIPELINE_OPEN); } @@ -498,7 +485,6 @@ public void activatePipeline(PipelineID pipelineID) @Override public void deactivatePipeline(PipelineID pipelineID) throws IOException { - checkLeader(); stateManager.updatePipelineState(pipelineID.getProtobuf(), HddsProtos.PipelineState.PIPELINE_DORMANT); } @@ -513,7 +499,6 @@ public void deactivatePipeline(PipelineID pipelineID) @Override public void waitPipelineReady(PipelineID pipelineID, long timeout) throws IOException { - checkLeader(); long st = Time.monotonicNow(); if (timeout == 0) { timeout = pipelineWaitDefaultTimeout; @@ -546,7 +531,6 @@ public void waitPipelineReady(PipelineID pipelineID, long timeout) @Override public Map getPipelineInfo() throws NotLeaderException { - checkLeader(); final Map pipelineInfo = new HashMap<>(); for (Pipeline.PipelineState state : Pipeline.PipelineState.values()) { pipelineInfo.put(state.toString(), 0); @@ -632,21 +616,10 @@ public void setPipelineProvider(ReplicationType replicationType, public StateManager getStateManager() { return stateManager; } - - public void setScmhaManager(SCMHAManager scmhaManager) { - this.scmhaManager = scmhaManager; - } - /** - * return term of underlying RaftServer if role of SCM is leader. - * @throws NotLeaderException when it's not leader. - */ - private long checkLeader() throws NotLeaderException { - Optional termOpt = scmhaManager.isLeader(); - if (!termOpt.isPresent()) { - throw scmhaManager.triggerNotLeaderException(); - } - return termOpt.get(); + @VisibleForTesting + public SCMHAManager getScmhaManager() { + return scmhaManager; } private void setBackgroundPipelineCreator( diff --git a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/TestUtils.java b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/TestUtils.java index e5895268a214..4852fa53b419 100644 --- a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/TestUtils.java +++ b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/TestUtils.java @@ -475,7 +475,7 @@ public static void quasiCloseContainer(ContainerManager containerManager, public static StorageContainerManager getScmSimple(OzoneConfiguration conf) throws IOException, AuthenticationException { SCMConfigurator configurator = new SCMConfigurator(); - configurator.setSCMHAManager(MockSCMHAManager.getInstance()); + configurator.setSCMHAManager(MockSCMHAManager.getInstance(true)); return StorageContainerManager.createSCM(conf, configurator); } @@ -492,7 +492,7 @@ public static StorageContainerManager getScmSimple(OzoneConfiguration conf) public static StorageContainerManager getScm(OzoneConfiguration conf) throws IOException, AuthenticationException { SCMConfigurator configurator = new SCMConfigurator(); - configurator.setSCMHAManager(MockSCMHAManager.getInstance()); + configurator.setSCMHAManager(MockSCMHAManager.getInstance(true)); return getScm(conf, configurator); } diff --git a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/block/TestBlockManager.java b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/block/TestBlockManager.java index 9eea79faefab..ebe29fb0617a 100644 --- a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/block/TestBlockManager.java +++ b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/block/TestBlockManager.java @@ -112,7 +112,7 @@ public void setUp() throws Exception { // Override the default Node Manager and SCMHAManager // in SCM with the Mock one. nodeManager = new MockNodeManager(true, 10); - scmHAManager = MockSCMHAManager.getInstance(); + scmHAManager = MockSCMHAManager.getInstance(true); eventQueue = new EventQueue(); diff --git a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestCloseContainerEventHandler.java b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestCloseContainerEventHandler.java index fbe4d42b0b85..ff6ea6d691de 100644 --- a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestCloseContainerEventHandler.java +++ b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestCloseContainerEventHandler.java @@ -80,7 +80,7 @@ public static void setUp() throws Exception { pipelineManager = PipelineManagerV2Impl.newPipelineManager( configuration, - MockSCMHAManager.getInstance(), + MockSCMHAManager.getInstance(true), nodeManager, scmMetadataStore.getPipelineTable(), eventQueue); diff --git a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestContainerManagerImpl.java b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestContainerManagerImpl.java index 6492e0ac614f..322b0c379ab6 100644 --- a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestContainerManagerImpl.java +++ b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestContainerManagerImpl.java @@ -60,7 +60,7 @@ public void setUp() throws Exception { pipelineManager.createPipeline(HddsProtos.ReplicationType.RATIS, HddsProtos.ReplicationFactor.THREE); containerManager = new ContainerManagerImpl(conf, - MockSCMHAManager.getInstance(), pipelineManager, + MockSCMHAManager.getInstance(true), pipelineManager, SCMDBDefinition.CONTAINERS.getTable(dbStore)); } diff --git a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestSCMContainerManager.java b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestSCMContainerManager.java index a45d63718c19..b45f9c10c2bf 100644 --- a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestSCMContainerManager.java +++ b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestSCMContainerManager.java @@ -95,7 +95,7 @@ public static void setUp() throws Exception { SCMMetadataStore scmMetadataStore = new SCMMetadataStoreImpl(conf); pipelineManager = PipelineManagerV2Impl.newPipelineManager( conf, - MockSCMHAManager.getInstance(), + MockSCMHAManager.getInstance(true), nodeManager, scmMetadataStore.getPipelineTable(), new EventQueue()); diff --git a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/ha/MockSCMHAManager.java b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/ha/MockSCMHAManager.java index ab329a567039..a5fd74878259 100644 --- a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/ha/MockSCMHAManager.java +++ b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/ha/MockSCMHAManager.java @@ -47,28 +47,16 @@ public final class MockSCMHAManager implements SCMHAManager { private final SCMRatisServer ratisServer; private boolean isLeader; - public static SCMHAManager getInstance() { - return new MockSCMHAManager(); - } - - public static SCMHAManager getLeaderInstance() { - MockSCMHAManager mockSCMHAManager = new MockSCMHAManager(); - mockSCMHAManager.setIsLeader(true); - return mockSCMHAManager; - } - - public static SCMHAManager getFollowerInstance() { - MockSCMHAManager mockSCMHAManager = new MockSCMHAManager(); - mockSCMHAManager.setIsLeader(false); - return mockSCMHAManager; + public static SCMHAManager getInstance(boolean isLeader) { + return new MockSCMHAManager(isLeader); } /** * Creates MockSCMHAManager instance. */ - private MockSCMHAManager() { + private MockSCMHAManager(boolean isLeader) { this.ratisServer = new MockRatisServer(); - this.isLeader = true; + this.isLeader = isLeader; } @Override @@ -127,7 +115,7 @@ public NotLeaderException triggerNotLeaderException() { null, new ArrayList<>()); } - private static class MockRatisServer implements SCMRatisServer { + private class MockRatisServer implements SCMRatisServer { private Map handlers = new EnumMap<>(RequestType.class); @@ -148,19 +136,32 @@ public SCMRatisResponse submitRequest(final SCMRatisRequest request) final RaftGroupMemberId raftId = RaftGroupMemberId.valueOf( RaftPeerId.valueOf("peer"), RaftGroupId.randomId()); RaftClientReply reply; - try { - final Message result = process(request); - reply = RaftClientReply.newBuilder() - .setClientId(ClientId.randomId()) - .setServerId(raftId) - .setGroupId(RaftGroupId.emptyGroupId()) - .setCallId(1L) - .setSuccess(true) - .setMessage(result) - .setException(null) - .setLogIndex(1L) - .build(); - } catch (Exception ex) { + if (isLeader().isPresent()) { + try { + final Message result = process(request); + reply = RaftClientReply.newBuilder() + .setClientId(ClientId.randomId()) + .setServerId(raftId) + .setGroupId(RaftGroupId.emptyGroupId()) + .setCallId(1L) + .setSuccess(true) + .setMessage(result) + .setException(null) + .setLogIndex(1L) + .build(); + } catch (Exception ex) { + reply = RaftClientReply.newBuilder() + .setClientId(ClientId.randomId()) + .setServerId(raftId) + .setGroupId(RaftGroupId.emptyGroupId()) + .setCallId(1L) + .setSuccess(false) + .setMessage(Message.EMPTY) + .setException(new StateMachineException(raftId, ex)) + .setLogIndex(1L) + .build(); + } + } else { reply = RaftClientReply.newBuilder() .setClientId(ClientId.randomId()) .setServerId(raftId) @@ -168,7 +169,7 @@ public SCMRatisResponse submitRequest(final SCMRatisRequest request) .setCallId(1L) .setSuccess(false) .setMessage(Message.EMPTY) - .setException(new StateMachineException(raftId, ex)) + .setException(triggerNotLeaderException()) .setLogIndex(1L) .build(); } diff --git a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/node/TestContainerPlacement.java b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/node/TestContainerPlacement.java index 7fea0c52d736..26de4fb3b3ab 100644 --- a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/node/TestContainerPlacement.java +++ b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/node/TestContainerPlacement.java @@ -118,7 +118,7 @@ SCMContainerManager createContainerManager(ConfigurationSource config, PipelineManager pipelineManager = PipelineManagerV2Impl.newPipelineManager( config, - MockSCMHAManager.getInstance(), + MockSCMHAManager.getInstance(true), scmNodeManager, scmMetadataStore.getPipelineTable(), eventQueue); diff --git a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineManagerImpl.java b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineManagerImpl.java index 51fff062af9b..1bff1e70d326 100644 --- a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineManagerImpl.java +++ b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestPipelineManagerImpl.java @@ -28,7 +28,6 @@ import org.apache.hadoop.hdds.scm.container.MockNodeManager; import org.apache.hadoop.hdds.scm.exceptions.SCMException; import org.apache.hadoop.hdds.scm.ha.MockSCMHAManager; -import org.apache.hadoop.hdds.scm.ha.SCMHAManager; import org.apache.hadoop.hdds.scm.metadata.SCMDBDefinition; import org.apache.hadoop.hdds.scm.safemode.SCMSafeModeManager; import org.apache.hadoop.hdds.scm.server.SCMDatanodeHeartbeatDispatcher; @@ -91,15 +90,10 @@ public void cleanup() throws Exception { FileUtil.fullyDelete(testDir); } - private PipelineManagerV2Impl createPipelineManager(boolean leader) + private PipelineManagerV2Impl createPipelineManager(boolean isLeader) throws IOException { - SCMHAManager scmhaManager; - if (leader) { - scmhaManager = MockSCMHAManager.getLeaderInstance(); - } else { - scmhaManager = MockSCMHAManager.getFollowerInstance(); - } - return PipelineManagerV2Impl.newPipelineManager(conf, scmhaManager, + return PipelineManagerV2Impl.newPipelineManager(conf, + MockSCMHAManager.getInstance(isLeader), new MockNodeManager(true, 20), SCMDBDefinition.PIPELINES.getTable(dbStore), new EventQueue()); @@ -195,7 +189,8 @@ public void testOpenPipelineShouldFailOnFollower() throws Exception { Assert.assertTrue(pipelineManager.containsPipeline(pipeline.getId())); Assert.assertEquals(ALLOCATED, pipeline.getPipelineState()); // Change to follower - pipelineManager.setScmhaManager(MockSCMHAManager.getFollowerInstance()); + assert pipelineManager.getScmhaManager() instanceof MockSCMHAManager; + ((MockSCMHAManager) pipelineManager.getScmhaManager()).setIsLeader(false); try { pipelineManager.openPipeline(pipeline.getId()); } catch (NotLeaderException ex) { @@ -216,7 +211,8 @@ public void testActivatePipelineShouldFailOnFollower() throws Exception { Assert.assertTrue(pipelineManager.containsPipeline(pipeline.getId())); Assert.assertEquals(ALLOCATED, pipeline.getPipelineState()); // Change to follower - pipelineManager.setScmhaManager(MockSCMHAManager.getFollowerInstance()); + assert pipelineManager.getScmhaManager() instanceof MockSCMHAManager; + ((MockSCMHAManager) pipelineManager.getScmhaManager()).setIsLeader(false); try { pipelineManager.activatePipeline(pipeline.getId()); } catch (NotLeaderException ex) { @@ -237,7 +233,8 @@ public void testDeactivatePipelineShouldFailOnFollower() throws Exception { Assert.assertTrue(pipelineManager.containsPipeline(pipeline.getId())); Assert.assertEquals(ALLOCATED, pipeline.getPipelineState()); // Change to follower - pipelineManager.setScmhaManager(MockSCMHAManager.getFollowerInstance()); + assert pipelineManager.getScmhaManager() instanceof MockSCMHAManager; + ((MockSCMHAManager) pipelineManager.getScmhaManager()).setIsLeader(false); try { pipelineManager.deactivatePipeline(pipeline.getId()); } catch (NotLeaderException ex) { @@ -301,7 +298,8 @@ public void testClosePipelineShouldFailOnFollower() throws Exception { Assert.assertTrue(pipelineManager.containsPipeline(pipeline.getId())); Assert.assertEquals(ALLOCATED, pipeline.getPipelineState()); // Change to follower - pipelineManager.setScmhaManager(MockSCMHAManager.getFollowerInstance()); + assert pipelineManager.getScmhaManager() instanceof MockSCMHAManager; + ((MockSCMHAManager) pipelineManager.getScmhaManager()).setIsLeader(false); try { pipelineManager.closePipeline(pipeline, false); } catch (NotLeaderException ex) { @@ -494,12 +492,41 @@ public void testScrubPipeline() throws Exception { pipelineManager.close(); } - @Test (expected = NotLeaderException.class) + @Test public void testScrubPipelineShouldFailOnFollower() throws Exception { - PipelineManagerV2Impl pipelineManager = createPipelineManager(false); + // No timeout for pipeline scrubber. + conf.setTimeDuration( + OZONE_SCM_PIPELINE_ALLOCATED_TIMEOUT, -1, + TimeUnit.MILLISECONDS); + + PipelineManagerV2Impl pipelineManager = createPipelineManager(true); pipelineManager.allowPipelineCreation(); - pipelineManager.scrubPipeline(HddsProtos.ReplicationType.RATIS, - HddsProtos.ReplicationFactor.THREE); + Pipeline pipeline = pipelineManager + .createPipeline(HddsProtos.ReplicationType.RATIS, + HddsProtos.ReplicationFactor.THREE); + // At this point, pipeline is not at OPEN stage. + Assert.assertEquals(Pipeline.PipelineState.ALLOCATED, + pipeline.getPipelineState()); + + // pipeline should be seen in pipelineManager as ALLOCATED. + Assert.assertTrue(pipelineManager + .getPipelines(HddsProtos.ReplicationType.RATIS, + HddsProtos.ReplicationFactor.THREE, + Pipeline.PipelineState.ALLOCATED).contains(pipeline)); + + // Change to follower + assert pipelineManager.getScmhaManager() instanceof MockSCMHAManager; + ((MockSCMHAManager) pipelineManager.getScmhaManager()).setIsLeader(false); + + try { + pipelineManager.scrubPipeline(HddsProtos.ReplicationType.RATIS, + HddsProtos.ReplicationFactor.THREE); + } catch (NotLeaderException ex) { + pipelineManager.close(); + return; + } + // Should not reach here. + Assert.fail(); } @Test diff --git a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/safemode/TestHealthyPipelineSafeModeRule.java b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/safemode/TestHealthyPipelineSafeModeRule.java index 8426084d4434..ee1f06cbe446 100644 --- a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/safemode/TestHealthyPipelineSafeModeRule.java +++ b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/safemode/TestHealthyPipelineSafeModeRule.java @@ -74,7 +74,7 @@ public void testHealthyPipelineSafeModeRuleWithNoPipelines() PipelineManagerV2Impl pipelineManager = PipelineManagerV2Impl.newPipelineManager( config, - MockSCMHAManager.getInstance(), + MockSCMHAManager.getInstance(true), nodeManager, scmMetadataStore.getPipelineTable(), eventQueue); @@ -123,7 +123,7 @@ public void testHealthyPipelineSafeModeRuleWithPipelines() throws Exception { PipelineManagerV2Impl pipelineManager = PipelineManagerV2Impl.newPipelineManager( config, - MockSCMHAManager.getInstance(), + MockSCMHAManager.getInstance(true), nodeManager, scmMetadataStore.getPipelineTable(), eventQueue); @@ -217,7 +217,7 @@ public void testHealthyPipelineSafeModeRuleWithMixedPipelines() PipelineManagerV2Impl pipelineManager = PipelineManagerV2Impl.newPipelineManager( config, - MockSCMHAManager.getInstance(), + MockSCMHAManager.getInstance(true), nodeManager, scmMetadataStore.getPipelineTable(), eventQueue); diff --git a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/safemode/TestOneReplicaPipelineSafeModeRule.java b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/safemode/TestOneReplicaPipelineSafeModeRule.java index 6860da2d695c..5e41289fe60f 100644 --- a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/safemode/TestOneReplicaPipelineSafeModeRule.java +++ b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/safemode/TestOneReplicaPipelineSafeModeRule.java @@ -84,7 +84,7 @@ private void setup(int nodes, int pipelineFactorThreeCount, pipelineManager = PipelineManagerV2Impl.newPipelineManager( ozoneConfiguration, - MockSCMHAManager.getInstance(), + MockSCMHAManager.getInstance(true), mockNodeManager, scmMetadataStore.getPipelineTable(), eventQueue); diff --git a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/safemode/TestSCMSafeModeManager.java b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/safemode/TestSCMSafeModeManager.java index f081bacc3f03..7bbae4f9fd18 100644 --- a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/safemode/TestSCMSafeModeManager.java +++ b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/safemode/TestSCMSafeModeManager.java @@ -303,7 +303,7 @@ public void testFailWithIncorrectValueForHealthyPipelinePercent() PipelineManager pipelineManager = PipelineManagerV2Impl.newPipelineManager( conf, - MockSCMHAManager.getInstance(), + MockSCMHAManager.getInstance(true), mockNodeManager, scmMetadataStore.getPipelineTable(), queue); @@ -326,7 +326,7 @@ public void testFailWithIncorrectValueForOneReplicaPipelinePercent() PipelineManager pipelineManager = PipelineManagerV2Impl.newPipelineManager( conf, - MockSCMHAManager.getInstance(), + MockSCMHAManager.getInstance(true), mockNodeManager, scmMetadataStore.getPipelineTable(), queue); @@ -348,7 +348,7 @@ public void testFailWithIncorrectValueForSafeModePercent() throws Exception { PipelineManager pipelineManager = PipelineManagerV2Impl.newPipelineManager( conf, - MockSCMHAManager.getInstance(), + MockSCMHAManager.getInstance(true), mockNodeManager, scmMetadataStore.getPipelineTable(), queue); @@ -377,7 +377,7 @@ public void testSafeModeExitRuleWithPipelineAvailabilityCheck( PipelineManagerV2Impl pipelineManager = PipelineManagerV2Impl.newPipelineManager( conf, - MockSCMHAManager.getInstance(), + MockSCMHAManager.getInstance(true), mockNodeManager, scmMetadataStore.getPipelineTable(), queue); @@ -627,7 +627,7 @@ public void testSafeModePipelineExitRule() throws Exception { PipelineManagerV2Impl pipelineManager = PipelineManagerV2Impl.newPipelineManager( config, - MockSCMHAManager.getInstance(), + MockSCMHAManager.getInstance(true), nodeManager, scmMetadataStore.getPipelineTable(), queue); @@ -690,7 +690,7 @@ public void testPipelinesNotCreatedUntilPreCheckPasses() PipelineManagerV2Impl pipelineManager = PipelineManagerV2Impl.newPipelineManager( config, - MockSCMHAManager.getInstance(), + MockSCMHAManager.getInstance(true), nodeManager, scmMetadataStore.getPipelineTable(), queue); diff --git a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/server/TestSCMBlockProtocolServer.java b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/server/TestSCMBlockProtocolServer.java index f4553abd736c..a87dde9b0019 100644 --- a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/server/TestSCMBlockProtocolServer.java +++ b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/server/TestSCMBlockProtocolServer.java @@ -59,7 +59,7 @@ public void setUp() throws Exception { File dir = GenericTestUtils.getRandomizedTestDir(); config.set(HddsConfigKeys.OZONE_METADATA_DIRS, dir.toString()); SCMConfigurator configurator = new SCMConfigurator(); - configurator.setSCMHAManager(MockSCMHAManager.getInstance()); + configurator.setSCMHAManager(MockSCMHAManager.getInstance(true)); scm = TestUtils.getScm(config, configurator); scm.start(); scm.exitSafeMode(); diff --git a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestKeyManagerImpl.java b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestKeyManagerImpl.java index 0330b43b12e3..8c8ca7264286 100644 --- a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestKeyManagerImpl.java +++ b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestKeyManagerImpl.java @@ -171,7 +171,7 @@ public static void setUp() throws Exception { SCMConfigurator configurator = new SCMConfigurator(); configurator.setScmNodeManager(nodeManager); configurator.setNetworkTopology(clusterMap); - configurator.setSCMHAManager(MockSCMHAManager.getInstance()); + configurator.setSCMHAManager(MockSCMHAManager.getInstance(true)); scm = TestUtils.getScm(conf, configurator); scm.start(); scm.exitSafeMode();