瀏覽代碼

HDFS-13080. Ozone: Make finalhash in ContainerInfo of StorageContainerDatanodeProtocol.proto optional. Contributed by Elek, Marton.

Nanda kumar 7 年之前
父節點
當前提交
c17782456b

+ 3 - 1
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/container/common/impl/ContainerManagerImpl.java

@@ -885,7 +885,6 @@ public class ContainerManagerImpl implements ContainerManager {
       StorageContainerDatanodeProtocolProtos.ContainerInfo.Builder ciBuilder =
           StorageContainerDatanodeProtocolProtos.ContainerInfo.newBuilder();
       ciBuilder.setContainerName(container.getContainer().getContainerName())
-          .setFinalhash(container.getContainer().getHash())
           .setSize(container.getContainer().getMaxSize())
           .setUsed(container.getContainer().getBytesUsed())
           .setKeyCount(container.getContainer().getKeyCount())
@@ -894,6 +893,9 @@ public class ContainerManagerImpl implements ContainerManager {
           .setReadBytes(container.getReadBytes())
           .setWriteBytes(container.getWriteBytes());
 
+      if (container.getContainer().getHash() != null) {
+        ciBuilder.setFinalhash(container.getContainer().getHash());
+      }
       crBuilder.addReports(ciBuilder.build());
     }
 

+ 1 - 1
hadoop-hdfs-project/hadoop-hdfs/src/main/proto/StorageContainerDatanodeProtocol.proto

@@ -94,7 +94,7 @@ A container report contains the following information.
 */
 message ContainerInfo {
   required string containerName = 1;
-  required string finalhash = 2;
+  optional string finalhash = 2;
   optional int64 size = 3;
   optional int64 used = 4;
   optional int64 keyCount = 5;