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

    https://github.com/apache/flink/pull/4993#discussion_r150221573
  
    --- Diff: 
flink-queryable-state/flink-queryable-state-client-java/src/main/java/org/apache/flink/queryablestate/client/QueryableStateClient.java
 ---
    @@ -108,9 +110,35 @@ public QueryableStateClient(final InetAddress 
remoteAddress, final int remotePor
                                new DisabledKvStateRequestStats());
        }
     
    -   /** Shuts down the client. */
    +   /**
    +    * Shuts down the client and waits for 10 seconds
    +    * for the shutdown to be completed.
    +    *
    +    * <p>If this expires, or an exception is thrown for
    +    * any reason, then a warning is printed containing the
    +    * exception.
    +    */
        public void shutdown() {
    -           client.shutdown();
    +           try {
    +                   client.shutdown().get(10L, TimeUnit.SECONDS);
    +                   LOG.info("The Queryable State Client was shutdown 
successfully.");
    +           } catch (Exception e) {
    +                   LOG.warn("The Queryable State Client shutdown failed: 
", e);
    +           }
    +   }
    +
    +   /**
    +    * Shuts down the client and waits until shutdown is completed.
    +    *
    +    * <p>If an exception is thrown for any reason, then this exception
    +    * is further propagated upwards.
    +    */
    +   public void shutdownAndWait() throws Throwable {
    +           try {
    +                   client.shutdown().join();
    +           } catch (CompletionException e) {
    +                   throw e.getCause();
    --- End diff --
    
    What if `getCause` is `null`? There is 
`ExceptionUtils.stripFromCompletionException`.


---

Reply via email to