Github user StefanRRichter commented on a diff in the pull request: https://github.com/apache/flink/pull/4639#discussion_r136877616 --- Diff: flink-core/src/main/java/org/apache/flink/util/AbstractCloseableRegistry.java --- @@ -61,13 +75,14 @@ public final void registerClosable(C closeable) throws IOException { } synchronized (getSynchronizationLock()) { - if (closed) { - IOUtils.closeQuietly(closeable); - throw new IOException("Cannot register Closeable, registry is already closed. Closing argument."); + if (!closed) { + doRegister(closeable, closeableToRef); + return; } - - doRegister(closeable, closeableToRef); } + + IOUtils.closeQuietly(closeable); --- End diff -- I think it should not. For some distributed filesystems a call to `close()` could block and would keep the registry blocked. We only need to synchronize the access to the internal map and the closed flag.
---