[ https://issues.apache.org/jira/browse/FLINK-15693?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17144719#comment-17144719 ]
Till Rohrmann commented on FLINK-15693: --------------------------------------- How exactly would this work [~Anglenet]? I think a {{RpcEndpoint}} uses the {{AkkaInvocationHandler}} to send itself messages (e.g. {{runAsync}} or when using the {{MainThreadExecutor}}). > Stop receiving incoming RPC messages when RpcEndpoint is closing > ---------------------------------------------------------------- > > Key: FLINK-15693 > URL: https://issues.apache.org/jira/browse/FLINK-15693 > Project: Flink > Issue Type: Improvement > Components: Runtime / Coordination > Affects Versions: 1.9.1, 1.10.0 > Reporter: Till Rohrmann > Priority: Major > Fix For: 1.11.0 > > > When calling {{RpcEndpoint#closeAsync()}}, the system triggers > {{RpcEndpoint#onStop}} and transitions the endpoint into the > {{TerminatingState}}. In order to allow asynchronous clean up operations, the > main thread executor is not shut down immediately. As a side effect, the > {{RpcEndpoint}} still accepts incoming RPC messages from other components. > I think it would be cleaner to no longer accept incoming RPC messages once we > are in the {{TerminatingState}}. That way we would not worry about the > internal state of the {{RpcEndpoint}} when processing RPC messages (similar > to > [here|https://github.com/apache/flink/blob/master/flink-runtime/src/main/java/org/apache/flink/runtime/taskexecutor/TaskExecutor.java#L952]). -- This message was sent by Atlassian Jira (v8.3.4#803005)