You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by ro...@apache.org on 2026/02/20 15:30:08 UTC

(flink) 01/02: [hotfix][runtime] Release all channels' deserializers before failing in StreamTaskNetworkInput

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

roman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git

commit b5fbf2b4acaee94ba1c1e5cf321d9842b44574bf
Author: Roman Khachatryan <kh...@gmail.com>
AuthorDate: Tue Feb 17 15:58:06 2026 +0100

    [hotfix][runtime] Release all channels' deserializers before failing in StreamTaskNetworkInput
---
 .../streaming/runtime/io/AbstractStreamTaskNetworkInput.java   | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/flink-runtime/src/main/java/org/apache/flink/streaming/runtime/io/AbstractStreamTaskNetworkInput.java b/flink-runtime/src/main/java/org/apache/flink/streaming/runtime/io/AbstractStreamTaskNetworkInput.java
index 46be9e6b585..c6053248aff 100644
--- a/flink-runtime/src/main/java/org/apache/flink/streaming/runtime/io/AbstractStreamTaskNetworkInput.java
+++ b/flink-runtime/src/main/java/org/apache/flink/streaming/runtime/io/AbstractStreamTaskNetworkInput.java
@@ -316,8 +316,16 @@ public abstract class AbstractStreamTaskNetworkInput<
     @Override
     public void close() throws IOException {
         // release the deserializers . this part should not ever fail
+        Exception err = null;
         for (InputChannelInfo channelInfo : new ArrayList<>(recordDeserializers.keySet())) {
-            releaseDeserializer(channelInfo);
+            try {
+                releaseDeserializer(channelInfo);
+            } catch (Exception e) {
+                err = e;
+            }
+        }
+        if (err != null) {
+            ExceptionUtils.rethrowIOException(err);
         }
     }