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

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

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

----


> Remove TestingSerialRpcService
> ------------------------------
>
>                 Key: FLINK-6180
>                 URL: https://issues.apache.org/jira/browse/FLINK-6180
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Distributed Coordination
>    Affects Versions: 1.3.0
>            Reporter: Till Rohrmann
>            Assignee: Till Rohrmann
>              Labels: flip-6
>             Fix For: 1.4.0
>
>
> The {{TestingSerialRpcService}} is problematic because it allows execution 
> interleavings which are not possible when using the {{AkkaRpcService}}, 
> because main thread calls can be executed while another main thread call is 
> still being executed. Therefore, we might test things which are not possible 
> and might not test certain interleavings which occur when using the 
> {{AkkaRpcService}}.
> Therefore, I propose to remove the {{TestingSerialRpcService}} and to 
> refactor the existing tests to use the {{AkkaRpcService}}.



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

Reply via email to