You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by xy...@apache.org on 2018/08/22 17:57:27 UTC
hadoop git commit: HDDS-350. ContainerMapping#flushContainerInfo
doesn't set containerId. Contributed by Ajay Kumar.
Repository: hadoop
Updated Branches:
refs/heads/trunk 5aa15cfaf -> 4c25f37c6
HDDS-350. ContainerMapping#flushContainerInfo doesn't set containerId. Contributed by Ajay Kumar.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/4c25f37c
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/4c25f37c
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/4c25f37c
Branch: refs/heads/trunk
Commit: 4c25f37c6cc4e22a006cd095d6143b549bf4a0a8
Parents: 5aa15cf
Author: Xiaoyu Yao <xy...@apache.org>
Authored: Wed Aug 22 10:53:54 2018 -0700
Committer: Xiaoyu Yao <xy...@apache.org>
Committed: Wed Aug 22 10:54:10 2018 -0700
----------------------------------------------------------------------
.../scm/container/common/helpers/ContainerInfo.java | 1 +
.../hadoop/hdds/scm/container/ContainerMapping.java | 16 +---------------
.../hdds/scm/container/TestContainerMapping.java | 8 ++++++++
3 files changed, 10 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/4c25f37c/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/container/common/helpers/ContainerInfo.java
----------------------------------------------------------------------
diff --git a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/container/common/helpers/ContainerInfo.java b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/container/common/helpers/ContainerInfo.java
index 427c08b..311c118 100644
--- a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/container/common/helpers/ContainerInfo.java
+++ b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/scm/container/common/helpers/ContainerInfo.java
@@ -212,6 +212,7 @@ public class ContainerInfo implements Comparator<ContainerInfo>,
public HddsProtos.SCMContainerInfo getProtobuf() {
HddsProtos.SCMContainerInfo.Builder builder =
HddsProtos.SCMContainerInfo.newBuilder();
+ Preconditions.checkState(containerID > 0);
return builder.setAllocatedBytes(getAllocatedBytes())
.setContainerID(getContainerID())
.setUsedBytes(getUsedBytes())
http://git-wip-us.apache.org/repos/asf/hadoop/blob/4c25f37c/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/ContainerMapping.java
----------------------------------------------------------------------
diff --git a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/ContainerMapping.java b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/ContainerMapping.java
index 11863f2..4076dad 100644
--- a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/ContainerMapping.java
+++ b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/ContainerMapping.java
@@ -733,21 +733,7 @@ public class ContainerMapping implements Mapping {
// return info of a deleted container. may revisit this in the future,
// for now, just skip a not-found container
if (containerBytes != null) {
- HddsProtos.SCMContainerInfo oldInfoProto =
- HddsProtos.SCMContainerInfo.PARSER.parseFrom(containerBytes);
- ContainerInfo oldInfo = ContainerInfo.fromProtobuf(oldInfoProto);
- ContainerInfo newInfo = new ContainerInfo.Builder()
- .setAllocatedBytes(info.getAllocatedBytes())
- .setNumberOfKeys(oldInfo.getNumberOfKeys())
- .setOwner(oldInfo.getOwner())
- .setPipelineID(oldInfo.getPipelineID())
- .setState(oldInfo.getState())
- .setUsedBytes(oldInfo.getUsedBytes())
- .setDeleteTransactionId(oldInfo.getDeleteTransactionId())
- .setReplicationFactor(oldInfo.getReplicationFactor())
- .setReplicationType(oldInfo.getReplicationType())
- .build();
- containerStore.put(dbKey, newInfo.getProtobuf().toByteArray());
+ containerStore.put(dbKey, info.getProtobuf().toByteArray());
} else {
LOG.debug("Container state manager has container {} but not found " +
"in container store, a deleted container?",
http://git-wip-us.apache.org/repos/asf/hadoop/blob/4c25f37c/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestContainerMapping.java
----------------------------------------------------------------------
diff --git a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestContainerMapping.java b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestContainerMapping.java
index 2dc7e99..1e9c35b 100644
--- a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestContainerMapping.java
+++ b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/TestContainerMapping.java
@@ -360,4 +360,12 @@ public class TestContainerMapping {
return containerInfo;
}
+ @Test
+ public void testFlushAllContainers() throws IOException {
+ ContainerInfo info = createContainer();
+ List<ContainerInfo> containers = mapping.getStateManager().getAllContainers();
+ Assert.assertTrue(containers.size() > 0);
+ mapping.flushContainerInfo();
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org