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

    https://github.com/apache/flink/pull/4993#discussion_r150230379
  
    --- Diff: 
flink-queryable-state/flink-queryable-state-client-java/src/main/java/org/apache/flink/queryablestate/network/Client.java
 ---
    @@ -309,31 +323,38 @@ private void handInChannel(Channel channel) {
                /**
                 * Close the connecting channel with a ClosedChannelException.
                 */
    -           private void close() {
    -                   close(new ClosedChannelException());
    +           private CompletableFuture<?> close() {
    +                   return close(new ClosedChannelException());
                }
     
                /**
                 * Close the connecting channel with an Exception (can be 
{@code null})
                 * or forward to the established channel.
                 */
    -           private void close(Throwable cause) {
    +           private CompletableFuture<?> close(Throwable cause) {
    --- End diff --
    
    This method is blocking even though it shouldn't be. Imagine that two close 
calls happen concurrently. One of them should trigger the closing operation and 
the other should immediately return with the termination future.


---

Reply via email to