peterxcli commented on code in PR #11302:
URL: https://github.com/apache/ozone/pull/11302#discussion_r4087763091


##########
hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/storage/StreamBlockInputStream.java:
##########
@@ -585,8 +584,7 @@ public void 
onNext(ContainerProtos.ContainerCommandResponseProto containerComman
       try {
         ByteBuffer data = readBlock.getData().asReadOnlyByteBuffer();
         if (verifyChecksum) {
-          ChecksumData checksumData = 
ChecksumData.getFromProtoBuf(readBlock.getChecksumData());
-          Checksum.verifyChecksum(data, checksumData, 0);
+          Checksum.validateChecksums(data, readBlock.getOffset(), 0, 
readBlock.getChunkInfoListList());

Review Comment:
   Please see my earlier comment: 
https://github.com/apache/ozone/pull/11302#discussion_r4075277988.
   
   Since our streaming read is off by default, I'd consider it an experimental 
feature. Blowing up the codebase with compatibility handling for an 
experimental feature makes no sense to me (and even if we did preserve 
compatibility, new clients would still fail in the same situation).
   
   A few things we can do easily: 1. Add a caution to the release notes or user 
docs, mentioning something like: "If you want to use streaming read, don't mix 
datanodes running version 2.2.x with clients on 2.3+."
   
   cc @taklwu @sodonnel @amaliujia as you might have more context with real 
prod usage of streaming read.



-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to