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

sdanilov pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/main by this push:
     new 8399fa4ee IGNITE-17071 Fix netty buffer leak in MarshallableTest (#844)
8399fa4ee is described below

commit 8399fa4eea6d256a07afd1bf95e5023398d561a1
Author: Semyon Danilov <[email protected]>
AuthorDate: Thu Jun 2 13:55:25 2022 +0400

    IGNITE-17071 Fix netty buffer leak in MarshallableTest (#844)
---
 .../ignite/internal/network/netty/RecoveryHandshakeTest.java   | 10 ++++++----
 .../internal/network/serialization/MarshallableTest.java       |  4 ++++
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git 
a/modules/network/src/test/java/org/apache/ignite/internal/network/netty/RecoveryHandshakeTest.java
 
b/modules/network/src/test/java/org/apache/ignite/internal/network/netty/RecoveryHandshakeTest.java
index f28832740..99f7aa805 100644
--- 
a/modules/network/src/test/java/org/apache/ignite/internal/network/netty/RecoveryHandshakeTest.java
+++ 
b/modules/network/src/test/java/org/apache/ignite/internal/network/netty/RecoveryHandshakeTest.java
@@ -402,13 +402,15 @@ public class RecoveryHandshakeTest {
     }
 
     private void exchangeServerToClient(EmbeddedChannel serverSideChannel, 
EmbeddedChannel clientSideChannel) {
-        ByteBuf handshakeStartMessage = serverSideChannel.readOutbound();
-        clientSideChannel.writeInbound(handshakeStartMessage);
+        ByteBuf outgoingMessageBuffer = serverSideChannel.readOutbound();
+        // No need to release buffer because inbound buffers are released by 
InboundDecoder
+        clientSideChannel.writeInbound(outgoingMessageBuffer);
     }
 
     private void exchangeClientToServer(EmbeddedChannel serverSideChannel, 
EmbeddedChannel clientSideChannel) {
-        ByteBuf handshakeStartMessage = clientSideChannel.readOutbound();
-        serverSideChannel.writeInbound(handshakeStartMessage);
+        ByteBuf outgoingMessageBuffer = clientSideChannel.readOutbound();
+        // No need to release buffer because inbound buffers are released by 
InboundDecoder
+        serverSideChannel.writeInbound(outgoingMessageBuffer);
     }
 
     private final Consumer<InNetworkObject> noMessageListener = 
inNetworkObject ->
diff --git 
a/modules/network/src/test/java/org/apache/ignite/internal/network/serialization/MarshallableTest.java
 
b/modules/network/src/test/java/org/apache/ignite/internal/network/serialization/MarshallableTest.java
index 574bdd1a2..aa96f824e 100644
--- 
a/modules/network/src/test/java/org/apache/ignite/internal/network/serialization/MarshallableTest.java
+++ 
b/modules/network/src/test/java/org/apache/ignite/internal/network/serialization/MarshallableTest.java
@@ -116,7 +116,11 @@ public class MarshallableTest {
 
         while (!channel.outboundMessages().isEmpty()) {
             ByteBuf channelBuf = channel.readOutbound();
+
             nioBuffer.put(channelBuf.nioBuffer());
+
+            // This buffer is outbound, so we need to manually release ше 
after we are done
+            channelBuf.release();
         }
 
         assertFalse(channel.finish());

Reply via email to