flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLINK-2821) Change Akka configuration to allow accessing actors from different URLs
Date Fri, 02 Dec 2016 11:12:59 GMT

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

ASF GitHub Bot commented on FLINK-2821:

Github user mxm commented on the issue:

    Thanks for checking out the code!
    >If different parts of the code or the JDK do a subtle change of behavior (i.e. resolve
the InetAddress), then some nodes may have a hostname in the URL, others an address.
    Fair point. Let's remove InetAddress and use a String instead.
    >If two machines have a slightly different network configuration (especially concerning
preferences to represent/encode IPv6 addresses) and the users set the IP address as the JobManager
host, then they might create different Akka URLs and the machines cannot talk to each other
    A problem of the old method was that hostnames might resolve differently depending on
the container context. So that method was not reliable either. Using IP addresses will work
with the new method. They just have to be consistent on all node configurations. I don't think
that is a problem because a configuration is usually created once and then copied over to
all nodes.
    >I am a bit unsure how to proceed from here. Is there any way we can keep using IP
addresses in the Akka URLs? Or does that just inherently not make sense with "dynamic hostnames"
as they are used in container environments?
    For this PR to address the core problems of FLINK-2821, we have to avoid resolving the
hostname because the IP address would represent the internal container address which may be
unreachable from the outside; even if it were resolvable, Akka would drop the messages because
of its exact URL match policy. Using the hostname which now acts as a purely logical address
ultimately is a more reliable way across different network environments. We just have to make
sure we document the new requirement that the JobManager address (JOB_MANAGER_IPC_ADDRESS)
is consistent across all Flink cluster nodes.

> Change Akka configuration to allow accessing actors from different URLs
> -----------------------------------------------------------------------
>                 Key: FLINK-2821
>                 URL: https://issues.apache.org/jira/browse/FLINK-2821
>             Project: Flink
>          Issue Type: Bug
>          Components: Distributed Coordination
>            Reporter: Robert Metzger
>            Assignee: Maximilian Michels
> Akka expects the actor's URL to be exactly matching.
> As pointed out here, cases where users were complaining about this: http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/Error-trying-to-access-JM-through-proxy-td3018.html
>   - Proxy routing (as described here, send to the proxy URL, receiver recognizes only
original URL)
>   - Using hostname / IP interchangeably does not work (we solved this by always putting
IP addresses into URLs, never hostnames)
>   - Binding to multiple interfaces (any local does not work. Still no solution
to that (but seems not too much of a restriction)
> I am aware that this is not possible due to Akka, so it is actually not a Flink bug.
But I think we should track the resolution of the issue here anyways because its affecting
our user's satisfaction.

This message was sent by Atlassian JIRA

View raw message