Uh oh!
There was an error while loading. Please reload this page.
[SPARK-14849][CORE]Always set an address for the executor - #12613
Conversation
SparkQA
commented
Apr 22, 2016
Test build #56705 has finished for PR 12613 at commit
|
rxin
commented
Apr 23, 2016
cc @zsxwing |
skyluc
commented
Apr 25, 2016
Are the test failures real, or due to flaky tests? |
| @@ -122,7 +122,7 @@ private[netty] class NettyRpcEnv( | |||
| @Nullable | |||
rxin
commented
Apr 26, 2016
I think there are also some code in SparkEnv that deals with this? |
skyluc
commented
Apr 27, 2016
Added comments, updated checks for cases when running in client mode, removed sending back the hostname to the executor. |
SparkQA
commented
Apr 27, 2016
Test build #57125 has finished for PR 12613 at commit
|
SparkQA
commented
Apr 27, 2016
Test build #57133 has finished for PR 12613 at commit
|
| // hostname, using the connection information. But the value generated is wrong when | ||
| // the connection is NATed. | ||
| // [SPARK-14849] | ||
| if (server != null) RpcAddress(host, server.getPort()) else RpcAddress(host, -1) |
There was a problem hiding this comment.
-1 is actually confusing. All of executors in the same node will have the same address.
zsxwing
commented
May 2, 2016
The host is easy to fix. However, the hard part is |
zsxwing
commented
Oct 24, 2016
@skyluc could you close this one, please? You can submit a new PR when you have a better idea. Thanks! |
Closesapache#11610Closesapache#15411Closesapache#15501Closesapache#12613Closesapache#12518Closesapache#12026Closesapache#15524Closesapache#12693Closesapache#12358Closesapache#15588Closesapache#15635Closesapache#15678Closesapache#14699Closesapache#9008
Closesapache#11610Closesapache#15411Closesapache#15501Closesapache#12613Closesapache#12518Closesapache#12026Closesapache#15524Closesapache#12693Closesapache#12358Closesapache#15588Closesapache#15635Closesapache#15678Closesapache#14699Closesapache#9008 Author: Sean Owen <sowen@cloudera.com> Closesapache#15685 from srowen/CloseStalePRs.
As specified in SPARK-14849, the
addressin theNettyRpcEnvfor the executor is not set when running in standalone mode. To compensate, the driver try to guess the IP address of the executor during registration. But in a NAT situation, the IP address visible in the connection is not the one that should be used.This address is sent back to the executor, and used later to describe the location of blocks.
The change is too always set the address as the
hostvalue, and to remove the code on the driver side which is trying to guess the right IP address. This kind of guessing is wrong in a NAT configuration, a possibly others.Manually tested on the configuration describe on the ticket, and on a standard Mesos cluster.
Testing on a Yarn cluster would be useful, to check that there is no unexpected effects.