This is an automated email from the ASF dual-hosted git repository. bharat pushed a commit to branch revert-2745-HDDS-5843 in repository https://gitbox.apache.org/repos/asf/ozone.git
commit 7684f65014ee618e64622eae1a1d505a2632f7b7 Author: Bharat Viswanadham <[email protected]> AuthorDate: Mon Oct 25 16:55:22 2021 -0700 Revert "HDDS-5843. SCM terminates when adding container to a pipeline during startup (#2745)" This reverts commit 0828afc7b3253abfbf53ee1ed28265e5fbd601b0. --- .../scm/container/ContainerStateManagerImpl.java | 4 ++-- .../hadoop/hdds/scm/pipeline/PipelineManager.java | 10 -------- .../hdds/scm/pipeline/PipelineManagerImpl.java | 7 ------ .../hdds/scm/pipeline/PipelineStateManager.java | 5 ---- .../scm/pipeline/PipelineStateManagerImpl.java | 12 ---------- .../hadoop/hdds/scm/pipeline/PipelineStateMap.java | 27 ---------------------- .../hdds/scm/pipeline/MockPipelineManager.java | 6 ----- .../hdds/scm/pipeline/TestPipelineManagerImpl.java | 26 --------------------- 8 files changed, 2 insertions(+), 95 deletions(-) diff --git a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/ContainerStateManagerImpl.java b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/ContainerStateManagerImpl.java index 4777d49..2abc6d0 100644 --- a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/ContainerStateManagerImpl.java +++ b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/ContainerStateManagerImpl.java @@ -229,8 +229,8 @@ public final class ContainerStateManagerImpl containers.addContainer(container); if (container.getState() == LifeCycleState.OPEN) { try { - pipelineManager.addContainerToPipelineSCMStart( - container.getPipelineID(), container.containerID()); + pipelineManager.addContainerToPipeline(container.getPipelineID(), + container.containerID()); } catch (PipelineNotFoundException ex) { LOG.warn("Found container {} which is in OPEN state with " + "pipeline {} that does not exist. Marking container for " + diff --git a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineManager.java b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineManager.java index b96d616..ff30c2b 100644 --- a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineManager.java +++ b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineManager.java @@ -68,16 +68,6 @@ public interface PipelineManager extends Closeable, PipelineManagerMXBean { void addContainerToPipeline(PipelineID pipelineID, ContainerID containerID) throws IOException; - /** - * Add container to pipeline during SCM Start. - * - * @param pipelineID ID of the pipeline to which container is added. - * @param containerID ID of the container which is added to the pipeline. - * @throws IOException in case of any Exception - */ - void addContainerToPipelineSCMStart(PipelineID pipelineID, - ContainerID containerID) throws IOException; - void removeContainerFromPipeline(PipelineID pipelineID, ContainerID containerID) throws IOException; diff --git a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineManagerImpl.java b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineManagerImpl.java index bd59797..66c6997 100644 --- a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineManagerImpl.java +++ b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineManagerImpl.java @@ -253,13 +253,6 @@ public class PipelineManagerImpl implements PipelineManager { } @Override - public void addContainerToPipelineSCMStart( - PipelineID pipelineID, ContainerID containerID) throws IOException { - // should not lock here, since no ratis operation happens. - stateManager.addContainerToPipelineSCMStart(pipelineID, containerID); - } - - @Override public void removeContainerFromPipeline( PipelineID pipelineID, ContainerID containerID) throws IOException { // should not lock here, since no ratis operation happens. diff --git a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineStateManager.java b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineStateManager.java index 4af64b5..ed4ddde 100644 --- a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineStateManager.java +++ b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineStateManager.java @@ -70,11 +70,6 @@ public interface PipelineStateManager { ContainerID containerID ) throws IOException; - void addContainerToPipelineSCMStart( - PipelineID pipelineID, - ContainerID containerID - ) throws IOException; - Pipeline getPipeline(PipelineID pipelineID) throws PipelineNotFoundException; List<Pipeline> getPipelines(); diff --git a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineStateManagerImpl.java b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineStateManagerImpl.java index 9589eb9..c9b1d77 100644 --- a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineStateManagerImpl.java +++ b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineStateManagerImpl.java @@ -118,18 +118,6 @@ public class PipelineStateManagerImpl implements PipelineStateManager { } @Override - public void addContainerToPipelineSCMStart( - PipelineID pipelineId, ContainerID containerID) - throws IOException { - lock.writeLock().lock(); - try { - pipelineStateMap.addContainerToPipelineSCMStart(pipelineId, containerID); - } finally { - lock.writeLock().unlock(); - } - } - - @Override public Pipeline getPipeline(PipelineID pipelineID) throws PipelineNotFoundException { lock.readLock().lock(); diff --git a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineStateMap.java b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineStateMap.java index 0e98925..4a68c80 100644 --- a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineStateMap.java +++ b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/PipelineStateMap.java @@ -105,33 +105,6 @@ class PipelineStateMap { } /** - * Add container to an existing pipeline during SCM Start. - * - * @param pipelineID - PipelineID of the pipeline to which container is added - * @param containerID - ContainerID of the container to add - */ - void addContainerToPipelineSCMStart(PipelineID pipelineID, - ContainerID containerID) throws IOException { - Preconditions.checkNotNull(pipelineID, - "Pipeline Id cannot be null"); - Preconditions.checkNotNull(containerID, - "Container Id cannot be null"); - - Pipeline pipeline = getPipeline(pipelineID); - if (pipeline.isClosed()) { - /* - When SCM restarts,the SCM DB may not be upto date where some - containers are in an OPEN state for a CLOSED pipeline. This happens when - close pipeline transaction in flushed before SCM goes down and close - container is not flushed into DB. - */ - LOG.info("Container {} in open state for pipeline={} in closed state", - containerID, pipelineID); - } - pipeline2container.get(pipelineID).add(containerID); - } - - /** * Get pipeline corresponding to specified pipelineID. * * @param pipelineID - PipelineID of the pipeline to be retrieved diff --git a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/MockPipelineManager.java b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/MockPipelineManager.java index cf3e84b..b155f28 100644 --- a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/MockPipelineManager.java +++ b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/MockPipelineManager.java @@ -133,12 +133,6 @@ public final class MockPipelineManager implements PipelineManager { } @Override - public void addContainerToPipelineSCMStart( - PipelineID pipelineID, ContainerID containerID) throws IOException { - stateManager.addContainerToPipelineSCMStart(pipelineID, containerID); - } - - @Override public void removeContainerFromPipeline(final PipelineID pipelineID, final ContainerID containerID) throws IOException { 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 a2ec1cf..d76df1e 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 @@ -49,7 +49,6 @@ import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; -import org.slf4j.LoggerFactory; import java.io.File; import java.io.IOException; @@ -64,7 +63,6 @@ import static org.apache.hadoop.hdds.scm.ScmConfigKeys.OZONE_SCM_PIPELINE_ALLOCA import static org.apache.hadoop.hdds.scm.pipeline.Pipeline.PipelineState.ALLOCATED; import static org.apache.hadoop.test.MetricsAsserts.getLongCounter; import static org.apache.hadoop.test.MetricsAsserts.getMetrics; -import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; /** @@ -626,30 +624,6 @@ public class TestPipelineManagerImpl { pipelineManager.close(); } - @Test - public void testAddContainerWithClosedPipeline() throws Exception { - GenericTestUtils.LogCapturer logCapturer = GenericTestUtils.LogCapturer. - captureLogs(LoggerFactory.getLogger(PipelineStateMap.class)); - SCMHADBTransactionBuffer buffer = new MockSCMHADBTransactionBuffer(dbStore); - PipelineManagerImpl pipelineManager = - createPipelineManager(true, buffer); - Table<PipelineID, Pipeline> pipelineStore = - SCMDBDefinition.PIPELINES.getTable(dbStore); - Pipeline pipeline = pipelineManager.createPipeline( - new RatisReplicationConfig(HddsProtos.ReplicationFactor.THREE)); - PipelineID pipelineID = pipeline.getId(); - pipelineManager.addContainerToPipeline(pipelineID, ContainerID.valueOf(1)); - pipelineManager.getStateManager().updatePipelineState( - pipelineID.getProtobuf(), HddsProtos.PipelineState.PIPELINE_CLOSED); - buffer.flush(); - Assert.assertTrue(pipelineStore.get(pipelineID).isClosed()); - pipelineManager.addContainerToPipelineSCMStart(pipelineID, - ContainerID.valueOf(2)); - assertTrue(logCapturer.getOutput().contains("Container " + - ContainerID.valueOf(2) + " in open state for pipeline=" + - pipelineID + " in closed state")); - } - private void sendPipelineReport( DatanodeDetails dn, Pipeline pipeline, PipelineReportHandler pipelineReportHandler, --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
