You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ozone.apache.org by bh...@apache.org on 2021/10/25 23:55:35 UTC
[ozone] 01/01: Revert "HDDS-5843. SCM terminates when adding
container to a pipeline during startup (#2745)"
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 <bv...@cloudera.com>
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: commits-unsubscribe@ozone.apache.org
For additional commands, e-mail: commits-help@ozone.apache.org