flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLINK-7974) AbstractServerBase#shutdown does not wait for shutdown completion
Date Fri, 10 Nov 2017 13:15:04 GMT

    [ https://issues.apache.org/jira/browse/FLINK-7974?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16247455#comment-16247455
] 

ASF GitHub Bot commented on FLINK-7974:
---------------------------------------

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`.


> AbstractServerBase#shutdown does not wait for shutdown completion
> -----------------------------------------------------------------
>
>                 Key: FLINK-7974
>                 URL: https://issues.apache.org/jira/browse/FLINK-7974
>             Project: Flink
>          Issue Type: Bug
>          Components: Queryable State
>    Affects Versions: 1.4.0
>            Reporter: Till Rohrmann
>            Assignee: Kostas Kloudas
>            Priority: Critical
>
> The {{AbstractServerBase}} does not wait for the completion of its shutdown when calling
{{AbstractServerBase#shutdown}}. This is problematic since it leads to resource leaks and
instable tests such as the {{AbstractServerTest}}. I propose to let the {{AbstractServerBase#shutdown}}
return a termination future which is completed upon shutdown completion.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message