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]