You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sd...@apache.org on 2022/07/01 15:36:27 UTC

[ignite-3] branch main updated: IGNITE-17293 Fix Netty buffer leak in MarshallableTest (#917)

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 cf48a1be6 IGNITE-17293 Fix Netty buffer leak in MarshallableTest (#917)
cf48a1be6 is described below

commit cf48a1be682c1d5e7cdefd9a8b8f952abdf0914c
Author: Roman Puchkovskiy <ro...@gmail.com>
AuthorDate: Fri Jul 1 19:36:22 2022 +0400

    IGNITE-17293 Fix Netty buffer leak in MarshallableTest (#917)
---
 .../network/serialization/MarshallableTest.java    | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

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 aa96f824e..fe8bfa5d9 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
@@ -147,21 +147,25 @@ public class MarshallableTest {
 
         outBuffer.flip();
 
-        ByteBuf inBuffer = allocator.buffer();
-
         // List that holds decoded object
         final var list = new ArrayList<>();
 
-        for (int i = 0; i < size; i++) {
-            // Write bytes to a decoding buffer one by one
-            inBuffer.writeByte(outBuffer.get());
+        ByteBuf inBuffer = allocator.buffer();
+
+        try {
+            for (int i = 0; i < size; i++) {
+                // Write bytes to a decoding buffer one by one
+                inBuffer.writeByte(outBuffer.get());
 
-            decoder.decode(ctx, inBuffer, list);
+                decoder.decode(ctx, inBuffer, list);
 
-            if (i < size - 1) {
-                // Any time before the buffer is fully read, message object should not be decoded
-                assertThat(list, is(empty()));
+                if (i < size - 1) {
+                    // Any time before the buffer is fully read, message object should not be decoded
+                    assertThat(list, is(empty()));
+                }
             }
+        } finally {
+            inBuffer.release();
         }
 
         // Buffer is fully read, message object should be decoded