Github user StefanRRichter commented on a diff in the pull request:

    https://github.com/apache/flink/pull/4639#discussion_r140455425
  
    --- 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 --
    
    And for the second part, I think it should be closed automatically, because 
you the caller decides to give the responsibility to the registry and tie it to 
the registry's status. So the registry should take care that the close status 
is propagated to new incoming objects.


---

Reply via email to