[
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)