GitHub user tillrohrmann opened a pull request: https://github.com/apache/flink/pull/4516
[FLINK-6180] [rpc] Remove TestingSerialRpcService ## What is the purpose of the change The TestingSerialRpcService produces thread interleavings which are not happening when being executed with a proper RpcService implementation. Due to this the test cases can fail or succeed wrongly. In order to avoid this problem, this commit removes the TestingSerialRpcService and adapts all existing tests which used it before. This PR is based on #4498. ## Brief change log - adapt all affected test cases - remove `TestingSerialRpcService` ## Verifying this change This change is a trivial rework / code cleanup without any test coverage. ## Does this pull request potentially affect one of the following parts: - Dependencies (does it add or upgrade a dependency): (no) - The public API, i.e., is any changed class annotated with `@Public(Evolving)`: (no) - The serializers: (no) - The runtime per-record code paths (performance sensitive): (no) - Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (no) ## Documentation - Does this pull request introduce a new feature? (no) - If yes, how is the feature documented? (not applicable) You can merge this pull request into a Git repository by running: $ git pull https://github.com/tillrohrmann/flink removeTestingSerialRPC Alternatively you can review and apply these changes as the patch at: https://github.com/apache/flink/pull/4516.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #4516 ---- commit c76c4f13e95eeb60f64e0ef4604036ff853da3fd Author: Till Rohrmann <trohrm...@apache.org> Date: 2017-08-08T12:43:47Z [FLINK-7387] [rpc] Require RpcEndpoints to directly implement RpcGateways This commit changes the relation between RpcEndpoints and RpcGateways. From now on, the RpcEndpoints have to implement the RpcGateways they want to support instead of coupling it loosely via a type parameter. In order to obtain self gateway a new method RpcEndpoint#getSelfGateway(Class) has been introduced. This method can be used to obtain the RpcGateway type at run time to talk to the RpcEndpoint asynchronously. All existing RpcEndpoints have been adapted to the new model. This basically means that they now return a CompletableFuture<X> instead of X. Add RpcEndpointTest commit 03d513b456b32af15eedbe2d39f44fca742d627d Author: Till Rohrmann <trohrm...@apache.org> Date: 2017-08-09T11:24:33Z Fix Failing TaskExecutorITCase commit 18267c941b66ec4229285371a4e209b7a8b25eaa Author: Till Rohrmann <trohrm...@apache.org> Date: 2017-08-10T12:07:09Z [FLINK-6180] [rpc] Remove TestingSerialRpcService The TestingSerialRpcService produces thread interleavings which are not happening when being executed with a proper RpcService implementation. Due to this the test cases can fail or succeed wrongly. In order to avoid this problem, this commit removes the TestingSerialRpcService and adapts all existing tests which used it before. Remove TestingSerialRpcService from MesosResourceManagerTest Remove TestingSerialRpcService from ResourceManagerJobMasterTest Remove TestingSerialRpcService from ResourceManagerTaskExecutorTest Remove TestingSerialRpcService from ResourceManagerTest Remove SerialTestingRpcService from JobMasterTest Remove TestingSerialRpcService from TaskExecutorITCase Remove TestingSerialRpcService from TaskExecutorTest Remove TestingSerialRpcService from SlotPoolTest Delete TestingSerialRpcService ---- --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---