Uh oh!
There was an error while loading. Please reload this page.
[SPARK-24203][core] Make executor's bindAddress configurable - #26331
[SPARK-24203][core] Make executor's bindAddress configurable#26331nishchalv wants to merge 1 commit into
Conversation
dongjoon-hyun
commented
Oct 30, 2019
Hi, @nishchalv . |
nishchalv
commented
Oct 30, 2019
@dongjoon-hyun fixed the build. |
0937237 to
62974f8Comparedbtsai
commented
Nov 1, 2019
Jenkins, test this please. |
SparkQA
commented
Nov 1, 2019
Test build #113070 has finished for PR 26331 at commit
|
holdenk
commented
Nov 1, 2019
Oh interesting, this could potentially help with an issue I've been seeing in Kubeflow with Spark under certain scenarios. I'll try and take a proper look next week if no one else has a chance. |
holdenk
commented
Nov 1, 2019
Let's CC the folks from the previous PR for their thoughts too: @lukmajercak & @bjliu & @vanzin |
holdenk
commented
Nov 1, 2019
@nishchalv can you run the Kubernetes integration tests? I know this isn't directly changing anything there so I think think this is going to trigger the K8s CI but I think with a core change like this it's good to make sure the different cluster managers work as much as possible |
| Arguments(driverUrl, executorId, hostname, cores, appId, workerUrl, | ||
| if (bindAddress == null) { | ||
| bindAddress = hostname |
There was a problem hiding this comment.
We need a new test case for this code path, @nishchalv .
| -1, | ||
| executorConf, | ||
| new SecurityManager(executorConf), | ||
| numUsableCores = 0, |
There was a problem hiding this comment.
Do we need this line in this PR?
There was a problem hiding this comment.
I think this is needed unless we add extra method in RpcEnv object.
lukmajercak
commented
Nov 5, 2019
Thanks guys for picking this up. We internally patched this a while ago and have been running with this change since. |
| ioEncryptionKey: Option[Array[Byte]], | ||
| isLocal: Boolean): SparkEnv = { | ||
| createExecutorEnv(conf, executorId, hostname, | ||
| hostname, numCores, ioEncryptionKey, isLocal); |
LGTM except the extra test requested by @dongjoon-hyun Thanks! |
dongjoon-hyun
left a comment
There was a problem hiding this comment.
+1, LGTM. Thank you for updating, @nishchalv .
dongjoon-hyun
commented
Nov 13, 2019
Retest this please. |
dbtsai
commented
Nov 13, 2019
Merged into master. Thanks! |
SparkQA
commented
Nov 13, 2019
Test build #113726 has finished for PR 26331 at commit
|
gedeh
commented
May 19, 2021
Hi, any plan to merge this to Spark 2.4? Thanks! |
What changes were proposed in this pull request?
With this change, executor's bindAddress is passed as an input parameter for RPCEnv.create.
A previous PR #21261 which addressed the same, was using a Spark Conf property to get the bindAddress which wouldn't have worked for multiple executors.
This PR is to enable anyone overriding CoarseGrainedExecutorBackend with their custom one to be able to invoke CoarseGrainedExecutorBackend.main() along with the option to configure bindAddress.
Why are the changes needed?
This is required when Kernel-based Virtual Machine (KVM)'s are used inside Linux container where the hostname is not the same as container hostname.
Does this PR introduce any user-facing change?
No
How was this patch tested?
Tested by running jobs with executors on KVMs inside a linux container.