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());