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

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

GitHub user tillrohrmann opened a pull request:

    https://github.com/apache/flink/pull/3949

    [FLINK-6629] Use HAServices to find connecting address for ClusterClient's 
ActorSystem

    The ClusterClient starts its ActorSystem lazily. In order to find out the 
address
    to which to bind, the ClusterClient tries to connect to the JobManager. In 
order
    to find out the JobManager's address it is important to use the
    HighAvailabilityServices instead of retrieving the address information from 
the
    configuration, because otherwise it conflicts with HA mode.
    
    cc @rmetzger.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/tillrohrmann/flink fixClusterClient

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/flink/pull/3949.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 #3949
    
----
commit 6c77c336f402936d684497dc5f707fb713e52c7e
Author: Till Rohrmann <[email protected]>
Date:   2017-05-19T10:01:51Z

    [FLINK-6635] [test] Fix ClientConnectionTest
    
    The ClientConnectionTest passed even though it was failing the test because 
we
    were expecting an exception and checking a special word to contained in the
    exception's message. Unfortunately, we generated an AssertionError with the 
same
    word if the actual logic we wanted to test failed. That cause the test to 
pass.

commit b75eef9532b033b49b9a192597ccaec101203447
Author: Till Rohrmann <[email protected]>
Date:   2017-05-19T12:31:19Z

    [FLINK-6629] Use HAServices to find connecting address for ClusterClient's 
ActorSystem
    
    The ClusterClient starts its ActorSystem lazily. In order to find out the 
address
    to which to bind, the ClusterClient tries to connect to the JobManager. In 
order
    to find out the JobManager's address it is important to use the
    HighAvailabilityServices instead of retrieving the address information from 
the
    configuration, because otherwise it conflicts with HA mode.

----


> ClusterClient cannot submit jobs to HA cluster if address not set in 
> configuration
> ----------------------------------------------------------------------------------
>
>                 Key: FLINK-6629
>                 URL: https://issues.apache.org/jira/browse/FLINK-6629
>             Project: Flink
>          Issue Type: Bug
>          Components: Client
>    Affects Versions: 1.3.0, 1.2.1, 1.4.0
>            Reporter: Till Rohrmann
>            Assignee: Till Rohrmann
>            Priority: Blocker
>             Fix For: 1.3.0, 1.4.0
>
>
> In the general case, the {{ClusterClient}} fails to submit jobs to an HA 
> cluster. The problem is the {{LazyActorSystemLoader}} which creates an 
> {{ActorSystem}}, upon first call. The {{ActorSystem}} is created by reading 
> the JobManager's address from the {{Configuration}} in order to find the 
> connecting address via {{ConnectionUtils.findConnectingAddress}}. The address 
> in the configuration is, however, only valid in the non-HA case. In the HA 
> case, we have to obtain the leader's address from ZooKeeper. Therefore, if  
> the address is not explicitly set in the {{flink-conf.yaml}}, then the 
> {{ClusterClient}} might either fail with a {{RuntimeException}} if no address 
> at all has been specified or it will use an invalid address and retrieve the 
> wrong connecting address.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to