[GitHub] [hadoop] szetszwo edited a comment on issue #1517: HDDS-2169
szetszwo edited a comment on issue #1517: HDDS-2169 URL: https://github.com/apache/hadoop/pull/1517#issuecomment-537516020 > Thanks @szetszwo for updating the patch. i think We need to change the parsing logic applyTransaction call in ContainerStateMachine as well because the integration test failures are related here: > `Caused by: org.apache.ratis.protocol.StateMachineException: org.apache.ratis.thirdparty.com.google.protobuf.InvalidProtocolBufferException from Server bad6dc6c-9418-448d-ad47-5f803b5e863b@group-6CEFB1F28D35: Protocol message contained an invalid tag (zero). at org.apache.ratis.thirdparty.com.google.protobuf.InvalidProtocolBufferException.invalidTag(InvalidProtocolBufferException.java:105) at org.apache.ratis.thirdparty.com.google.protobuf.CodedInputStream$ArrayDecoder.readTag(CodedInputStream.java:646) at org.apache.hadoop.hdds.protocol.datanode.proto.ContainerProtos$ContainerCommandRequestProto.(ContainerProtos.java:2692) at org.apache.hadoop.hdds.protocol.datanode.proto.ContainerProtos$ContainerCommandRequestProto.(ContainerProtos.java:2655) at org.apache.hadoop.hdds.protocol.datanode.proto.ContainerProtos$ContainerCommandRequestProto$1.parsePartialFrom(ContainerProtos.java:7272) at org.apache.hadoop.hdds.protocol.datanode.proto.ContainerProtos$ContainerCommandRequestProto$1.parsePartialFrom(ContainerProtos.java:7267) at org.apache.ratis.thirdparty.com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:105) at org.apache.ratis.thirdparty.com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:125) at org.apache.ratis.thirdparty.com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:130) at org.apache.ratis.thirdparty.com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:49) at org.apache.hadoop.hdds.protocol.datanode.proto.ContainerProtos$ContainerCommandRequestProto.parseFrom(ContainerProtos.java:4110) at org.apache.hadoop.ozone.container.common.transport.server.ratis.ContainerStateMachine.getContainerCommandRequestProto(ContainerStateMachine.java:383) at org.apache.hadoop.ozone.container.common.transport.server.ratis.ContainerStateMachine.applyTransaction(ContainerStateMachine.java:708) at org.apache.ratis.server.impl.RaftServerImpl.applyLogToStateMachine(RaftServerImpl.java:1274) at org.apache.ratis.server.impl.StateMachineUpdater.applyLog(StateMachineUpdater.java:224) at org.apache.ratis.server.impl.StateMachineUpdater.run(StateMachineUpdater.java:165)` Oops, need one more fix (a4ae0852f818f6a49403b784790b1babb3df71f5) as shown below since it calls request.getMessage().getContent() again in startTransaction(..). Thanks @bshashikant. > +++ b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/transport/server/ratis/ContainerStateMachine.java @@ -364,7 +364,7 @@ public TransactionContext startTransaction(RaftClientRequest request) .setStateMachine(this) .setServerRole(RaftPeerRole.LEADER) .setStateMachineContext(startTime) .setLogData(request.getMessage().getContent()) .build(); } This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services - To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org
[GitHub] [hadoop] szetszwo edited a comment on issue #1517: HDDS-2169
szetszwo edited a comment on issue #1517: HDDS-2169 URL: https://github.com/apache/hadoop/pull/1517#issuecomment-537516020 > Thanks @szetszwo for updating the patch. i think We need to change the parsing logic applyTransaction call in ContainerStateMachine as well because the integration test failures are related here: > `Caused by: org.apache.ratis.protocol.StateMachineException: org.apache.ratis.thirdparty.com.google.protobuf.InvalidProtocolBufferException from Server bad6dc6c-9418-448d-ad47-5f803b5e863b@group-6CEFB1F28D35: Protocol message contained an invalid tag (zero). at org.apache.ratis.thirdparty.com.google.protobuf.InvalidProtocolBufferException.invalidTag(InvalidProtocolBufferException.java:105) at org.apache.ratis.thirdparty.com.google.protobuf.CodedInputStream$ArrayDecoder.readTag(CodedInputStream.java:646) at org.apache.hadoop.hdds.protocol.datanode.proto.ContainerProtos$ContainerCommandRequestProto.(ContainerProtos.java:2692) at org.apache.hadoop.hdds.protocol.datanode.proto.ContainerProtos$ContainerCommandRequestProto.(ContainerProtos.java:2655) at org.apache.hadoop.hdds.protocol.datanode.proto.ContainerProtos$ContainerCommandRequestProto$1.parsePartialFrom(ContainerProtos.java:7272) at org.apache.hadoop.hdds.protocol.datanode.proto.ContainerProtos$ContainerCommandRequestProto$1.parsePartialFrom(ContainerProtos.java:7267) at org.apache.ratis.thirdparty.com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:105) at org.apache.ratis.thirdparty.com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:125) at org.apache.ratis.thirdparty.com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:130) at org.apache.ratis.thirdparty.com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:49) at org.apache.hadoop.hdds.protocol.datanode.proto.ContainerProtos$ContainerCommandRequestProto.parseFrom(ContainerProtos.java:4110) at org.apache.hadoop.ozone.container.common.transport.server.ratis.ContainerStateMachine.getContainerCommandRequestProto(ContainerStateMachine.java:383) at org.apache.hadoop.ozone.container.common.transport.server.ratis.ContainerStateMachine.applyTransaction(ContainerStateMachine.java:708) at org.apache.ratis.server.impl.RaftServerImpl.applyLogToStateMachine(RaftServerImpl.java:1274) at org.apache.ratis.server.impl.StateMachineUpdater.applyLog(StateMachineUpdater.java:224) at org.apache.ratis.server.impl.StateMachineUpdater.run(StateMachineUpdater.java:165)` Oops, need one more fix (a4ae0852f818f6a49403b784790b1babb3df71f5) as shown below since it calls request.getMessage().getContent() again in startTransaction(..). > +++ b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/transport/server/ratis/ContainerStateMachine.java @@ -364,7 +364,7 @@ public TransactionContext startTransaction(RaftClientRequest request) .setStateMachine(this) .setServerRole(RaftPeerRole.LEADER) .setStateMachineContext(startTime) .setLogData(request.getMessage().getContent()) .build(); } This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services - To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org