From 7f5382483ebe0dc7d8601a36a75760163ca2fcb2 Mon Sep 17 00:00:00 2001 From: Mukul Kumar Singh Date: Wed, 12 Sep 2018 18:30:53 +0530 Subject: [PATCH] HDDS-433. ContainerStateMachine#readStateMachineData should properly build LogEntryProto. Contributed by Lokesh Jain. (cherry picked from commit 47299ce23fa0f327b8c532ca96191a571c92d244) --- .../server/ratis/ContainerStateMachine.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 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 1636f24a95d..b84db668401 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 @@ -268,7 +268,7 @@ public class ContainerStateMachine extends BaseStateMachine { } } - private LogEntryProto readStateMachineData(SMLogEntryProto smLogEntryProto, + private LogEntryProto readStateMachineData(LogEntryProto entry, ContainerCommandRequestProto requestProto) { WriteChunkRequestProto writeChunkRequestProto = requestProto.getWriteChunk(); @@ -307,18 +307,18 @@ public class ContainerStateMachine extends BaseStateMachine { ContainerCommandRequestProto.newBuilder(requestProto) .setWriteChunk(dataWriteChunkProto); - return recreateLogEntryProto(smLogEntryProto, + return recreateLogEntryProto(entry, newStateMachineProto.build().toByteString()); } - private LogEntryProto recreateLogEntryProto(SMLogEntryProto smLogEntryProto, + private LogEntryProto recreateLogEntryProto(LogEntryProto entry, ByteString stateMachineData) { // recreate the log entry final SMLogEntryProto log = - SMLogEntryProto.newBuilder(smLogEntryProto) + SMLogEntryProto.newBuilder(entry.getSmLogEntry()) .setStateMachineData(stateMachineData) .build(); - return LogEntryProto.newBuilder().setSmLogEntry(log).build(); + return LogEntryProto.newBuilder(entry).setSmLogEntry(log).build(); } /** @@ -360,11 +360,11 @@ public class ContainerStateMachine extends BaseStateMachine { if (requestProto.getCmdType() == Type.WriteChunk) { return CompletableFuture.supplyAsync(() -> - readStateMachineData(smLogEntryProto, requestProto), + readStateMachineData(entry, requestProto), chunkExecutor); } else if (requestProto.getCmdType() == Type.CreateContainer) { LogEntryProto log = - recreateLogEntryProto(smLogEntryProto, requestProto.toByteString()); + recreateLogEntryProto(entry, requestProto.toByteString()); return CompletableFuture.completedFuture(log); } else { throw new IllegalStateException("Cmd type:" + requestProto.getCmdType()