Till Rohrmann created FLINK-7295:
------------------------------------

             Summary: Add callback for proper RpcEndpoint shut down
                 Key: FLINK-7295
                 URL: https://issues.apache.org/jira/browse/FLINK-7295
             Project: Flink
          Issue Type: Sub-task
          Components: Distributed Coordination
    Affects Versions: 1.4.0
            Reporter: Till Rohrmann
            Assignee: Till Rohrmann


In order to properly shut down {{RpcEndpoints}} it is necessary to have a 
method which is called by the main thread in case of a shut down and allows to 
properly close and clean up internal state. At the moment, this clean up work 
is done by overriding the {{RpcEndpoint#shutDown}} method which can be called 
by a different thread than the main thread. This is problematic since it 
violates the {{RpcEndpoint}} contract.

I propose to change the behaviour of {{RpcEndpoint#shutDown}} to be 
asynchronous. Calling this method will send a message to the {{RpcEndpoint}} 
which triggers the call of the clean up method and the termination of the 
endpoint.

In order to obtain the same behaviour as before, the user can obtain the 
termination future on which it can wait after sending the request to shut down 
the {{RpcEndpoint}}.



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

Reply via email to