Kevin Hogeland created SPARK-14437:
--------------------------------------
Summary: Spark using Netty RPC gets wrong address in some setups
Key: SPARK-14437
URL: https://issues.apache.org/jira/browse/SPARK-14437
Project: Spark
Issue Type: Bug
Components: Block Manager, Spark Core
Affects Versions: 1.6.1, 1.6.0
Environment: AWS, Docker, Flannel
Reporter: Kevin Hogeland
Netty can't get the correct origin address in certain network setups. Spark
should handle this, as relying on Netty correctly reporting all addresses leads
to incompatible and unpredictable networking setups. We're currently using
Docker with Flannel on AWS. Container communication looks something like:
{{Container 1 (1.2.3.1) -> Docker host A (1.2.3.0) -> Docker host B (4.5.6.0)
-> Container 2 (4.5.6.1)}}
If the client in that setup is Container 1 (1.2.3.4), Netty channels from there
to Container 2 will have a client address of 1.2.3.0.
The {{RequestMessage}} object that is sent over the wire already contains a
{{senderAddress}} field that the sender can use to specify their address. In
{{NettyRpcEnv#internalReceive}}, this is replaced with the Netty client socket
address when null. {{senderAddress}} in the messages sent from the executors is
currently always null. The executor should send its address explicitly so that
the driver doesn't attempt to infer addresses based on possibly incorrect
information from Netty.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]