This is an automated email from the ASF dual-hosted git repository.
szetszwo pushed a commit to branch HDDS-4454
in repository https://gitbox.apache.org/repos/asf/ozone.git
The following commit(s) were added to refs/heads/HDDS-4454 by this push:
new fe15324 HDDS-5742. [Ozone-Streaming] Avoid unnecessary Bytebuffer
conversions (#2640)
fe15324 is described below
commit fe15324d4c7c445a5139d39e92a67f3c11c67a0c
Author: micah zhao <[email protected]>
AuthorDate: Wed Sep 15 17:10:44 2021 +0800
HDDS-5742. [Ozone-Streaming] Avoid unnecessary Bytebuffer conversions
(#2640)
---
.../apache/hadoop/hdds/scm/storage/BlockDataStreamOutput.java | 3 +--
.../src/main/java/org/apache/hadoop/ozone/common/Checksum.java | 9 ++++-----
2 files changed, 5 insertions(+), 7 deletions(-)
diff --git
a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/storage/BlockDataStreamOutput.java
b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/storage/BlockDataStreamOutput.java
index d0419fa..c69af90 100644
---
a/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/storage/BlockDataStreamOutput.java
+++
b/hadoop-hdds/client/src/main/java/org/apache/hadoop/hdds/scm/storage/BlockDataStreamOutput.java
@@ -485,8 +485,7 @@ public class BlockDataStreamOutput implements
ByteBufferStreamOutput {
throws IOException {
final int effectiveChunkSize = buf.remaining();
final long offset = chunkOffset.getAndAdd(effectiveChunkSize);
- ChecksumData checksumData =
- checksum.computeChecksum(buf.asReadOnlyBuffer());
+ ChecksumData checksumData = checksum.computeChecksum(buf);
ChunkInfo chunkInfo = ChunkInfo.newBuilder()
.setChunkName(blockID.get().getLocalID() + "_chunk_" + ++chunkIndex)
.setOffset(offset)
diff --git
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/common/Checksum.java
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/common/Checksum.java
index 76f84c4..67e5d47 100644
---
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/common/Checksum.java
+++
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/common/Checksum.java
@@ -139,6 +139,10 @@ public class Checksum {
*/
public ChecksumData computeChecksum(ByteBuffer data)
throws OzoneChecksumException {
+ if (checksumType == ChecksumType.NONE) {
+ // Since type is set to NONE, we do not need to compute the checksums
+ return new ChecksumData(checksumType, bytesPerChecksum);
+ }
if (!data.isReadOnly()) {
data = data.asReadOnlyBuffer();
}
@@ -154,11 +158,6 @@ public class Checksum {
public ChecksumData computeChecksum(ChunkBuffer data)
throws OzoneChecksumException {
- if (checksumType == ChecksumType.NONE) {
- // Since type is set to NONE, we do not need to compute the checksums
- return new ChecksumData(checksumType, bytesPerChecksum);
- }
-
final Function<ByteBuffer, ByteString> function;
try {
function = Algorithm.valueOf(checksumType).newChecksumFunction();
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]