This is an automated email from the ASF dual-hosted git repository.

jinrongtong pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/rocketmq.git


The following commit(s) were added to refs/heads/develop by this push:
     new db163b431e Revert "[ISSUE #7757] Use `CompositeByteBuf` to prevent 
memory copy. (#7694)" (#8209)
db163b431e is described below

commit db163b431ea9366d1121d04ded4b660fd8a31624
Author: yuz10 <[email protected]>
AuthorDate: Thu May 30 13:52:09 2024 +0800

    Revert "[ISSUE #7757] Use `CompositeByteBuf` to prevent memory copy. 
(#7694)" (#8209)
    
    This reverts commit 7a36d4d736ae8d6d92658e3bdb18f1cd5c0afdb0.
---
 .../rocketmq/remoting/netty/FileRegionEncoder.java   | 20 ++++----------------
 .../remoting/netty/FileRegionEncoderTest.java        |  5 ++---
 2 files changed, 6 insertions(+), 19 deletions(-)

diff --git 
a/remoting/src/main/java/org/apache/rocketmq/remoting/netty/FileRegionEncoder.java
 
b/remoting/src/main/java/org/apache/rocketmq/remoting/netty/FileRegionEncoder.java
index 3522c7965c..7373a56070 100644
--- 
a/remoting/src/main/java/org/apache/rocketmq/remoting/netty/FileRegionEncoder.java
+++ 
b/remoting/src/main/java/org/apache/rocketmq/remoting/netty/FileRegionEncoder.java
@@ -18,9 +18,6 @@
 package org.apache.rocketmq.remoting.netty;
 
 import io.netty.buffer.ByteBuf;
-import io.netty.buffer.ByteBufAllocator;
-import io.netty.buffer.CompositeByteBuf;
-import io.netty.buffer.Unpooled;
 import io.netty.channel.ChannelHandlerContext;
 import io.netty.channel.FileRegion;
 import io.netty.handler.codec.MessageToByteEncoder;
@@ -54,12 +51,9 @@ public class FileRegionEncoder extends 
MessageToByteEncoder<FileRegion> {
         WritableByteChannel writableByteChannel = new WritableByteChannel() {
             @Override
             public int write(ByteBuffer src) {
-                // To prevent mem_copy.
-                CompositeByteBuf b = (CompositeByteBuf) out;
-                // Have to increase writerIndex manually.
-                ByteBuf unpooled = Unpooled.wrappedBuffer(src);
-                b.addComponent(true, unpooled);
-                return unpooled.readableBytes();
+                int prev = out.writerIndex();
+                out.writeBytes(src);
+                return out.writerIndex() - prev;
             }
 
             @Override
@@ -82,10 +76,4 @@ public class FileRegionEncoder extends 
MessageToByteEncoder<FileRegion> {
             msg.transferTo(writableByteChannel, transferred);
         }
     }
-
-    @Override
-    protected ByteBuf allocateBuffer(ChannelHandlerContext ctx, FileRegion 
msg, boolean preferDirect) throws Exception {
-        ByteBufAllocator allocator = ctx.alloc();
-        return preferDirect ? allocator.compositeDirectBuffer() : 
allocator.compositeHeapBuffer();
-    }
-}
\ No newline at end of file
+}
diff --git 
a/remoting/src/test/java/org/apache/rocketmq/remoting/netty/FileRegionEncoderTest.java
 
b/remoting/src/test/java/org/apache/rocketmq/remoting/netty/FileRegionEncoderTest.java
index 0cbe627d80..6c7327f258 100644
--- 
a/remoting/src/test/java/org/apache/rocketmq/remoting/netty/FileRegionEncoderTest.java
+++ 
b/remoting/src/test/java/org/apache/rocketmq/remoting/netty/FileRegionEncoderTest.java
@@ -21,15 +21,14 @@ import io.netty.buffer.ByteBuf;
 import io.netty.channel.DefaultFileRegion;
 import io.netty.channel.FileRegion;
 import io.netty.channel.embedded.EmbeddedChannel;
-import org.junit.Assert;
-import org.junit.Test;
-
 import java.io.BufferedOutputStream;
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.util.Random;
 import java.util.UUID;
+import org.junit.Assert;
+import org.junit.Test;
 
 public class FileRegionEncoderTest {
 

Reply via email to