Github user tillrohrmann commented on a diff in the pull request:
https://github.com/apache/flink/pull/4993#discussion_r150221485
--- 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();
--- End diff --
`get()` is better here
---