This is an automated email from the ASF dual-hosted git repository.

weichiu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git


The following commit(s) were added to refs/heads/master by this push:
     new 4f328fc92a HDDS-9918. [hsync] Remove block token from Ratis log once 
verified. (#6745)
4f328fc92a is described below

commit 4f328fc92a5f38917dfbe447af14f521600827ba
Author: Wei-Chiu Chuang <[email protected]>
AuthorDate: Wed May 29 17:24:44 2024 -0700

    HDDS-9918. [hsync] Remove block token from Ratis log once verified. (#6745)
---
 .../server/ratis/ContainerStateMachine.java        | 45 ++++++++--------------
 1 file changed, 16 insertions(+), 29 deletions(-)

diff --git 
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/transport/server/ratis/ContainerStateMachine.java
 
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/transport/server/ratis/ContainerStateMachine.java
index fdbe8c981c..6351c746fe 100644
--- 
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/transport/server/ratis/ContainerStateMachine.java
+++ 
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/transport/server/ratis/ContainerStateMachine.java
@@ -422,40 +422,27 @@ public class ContainerStateMachine extends 
BaseStateMachine {
       }
       return builder.build().setException(ioe);
     }
+
+    // once the token is verified, clear it from the proto
+    final ContainerCommandRequestProto.Builder protoBuilder = 
ContainerCommandRequestProto.newBuilder(proto)
+        .clearEncodedToken();
     if (proto.getCmdType() == Type.WriteChunk) {
       final WriteChunkRequestProto write = proto.getWriteChunk();
-      // create the log entry proto
-      final WriteChunkRequestProto commitWriteChunkProto =
-          WriteChunkRequestProto.newBuilder()
-              .setBlockID(write.getBlockID())
-              .setChunkData(write.getChunkData())
-              // skipping the data field as it is
-              // already set in statemachine data proto
-              .build();
-      ContainerCommandRequestProto commitContainerCommandProto =
-          ContainerCommandRequestProto
-              .newBuilder(proto)
-              .setPipelineID(gid.getUuid().toString())
-              .setWriteChunk(commitWriteChunkProto)
-              .setTraceID(proto.getTraceID())
-              .build();
       Preconditions.checkArgument(write.hasData());
       Preconditions.checkArgument(!write.getData().isEmpty());
-
-      final Context context = new Context(proto, commitContainerCommandProto);
-      return builder
-          .setStateMachineContext(context)
-          .setStateMachineData(write.getData())
-          .setLogData(commitContainerCommandProto.toByteString())
-          .build();
-    } else {
-      final Context context = new Context(proto, proto);
-      return builder
-          .setStateMachineContext(context)
-          .setLogData(proto.toByteString())
-          .build();
+      // skipping the data field as it is already set in statemachine data 
proto
+      final WriteChunkRequestProto.Builder commitWriteChunkProto = 
WriteChunkRequestProto.newBuilder(write)
+          .clearData();
+      protoBuilder.setWriteChunk(commitWriteChunkProto)
+          .setPipelineID(gid.getUuid().toString())
+          .setTraceID(proto.getTraceID());
+
+      builder.setStateMachineData(write.getData());
     }
-
+    final ContainerCommandRequestProto containerCommandRequestProto = 
protoBuilder.build();
+    return builder.setStateMachineContext(new Context(proto, 
containerCommandRequestProto))
+        .setLogData(containerCommandRequestProto.toByteString())
+        .build();
   }
 
   private static ContainerCommandRequestProto getContainerCommandRequestProto(


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to