GitHub user zhangzg187 opened a pull request:
https://github.com/apache/spark/pull/20540
Branch 2.3
## What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
## How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration
tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise,
remove this)
Please review http://spark.apache.org/contributing.html before opening a
pull request.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/apache/spark branch-2.3
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/spark/pull/20540.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 #20540
commit cd92913f345c8d932d3c651626c7f803e6abdcdb
Author: jerryshao
Date: 2018-01-04T19:39:42Z
[SPARK-21475][CORE][2ND ATTEMPT] Change to use NIO's Files API for external
shuffle service
## What changes were proposed in this pull request?
This PR is the second attempt of #18684 , NIO's Files API doesn't override
`skip` method for `InputStream`, so it will bring in performance issue
(mentioned in #20119). But using `FileInputStream`/`FileOutputStream` will also
bring in memory issue
(https://dzone.com/articles/fileinputstream-fileoutputstream-considered-harmful),
which is severe for long running external shuffle service. So here in this
proposal, only fixing the external shuffle service related code.
## How was this patch tested?
Existing tests.
Author: jerryshao
Closes #20144 from jerryshao/SPARK-21475-v2.
(cherry picked from commit 93f92c0ed7442a4382e97254307309977ff676f8)
Signed-off-by: Shixiong Zhu
commit bc4bef472de0e99f74a80954d694c3d1744afe3a
Author: Marcelo Vanzin
Date: 2018-01-04T22:19:00Z
[SPARK-22850][CORE] Ensure queued events are delivered to all event queues.
The code in LiveListenerBus was queueing events before start in the
queues themselves; so in situations like the following:
bus.post(someEvent)
bus.addToEventLogQueue(listener)
bus.start()
"someEvent" would not be delivered to "listener" if that was the first
listener in the queue, because the queue wouldn't exist when the
event was posted.
This change buffers the events before starting the bus in the bus itself,
so that they can be delivered to all registered queues when the bus is
started.
Also tweaked the unit tests to cover the behavior above.
Author: Marcelo Vanzin
Closes #20039 from vanzin/SPARK-22850.
(cherry picked from commit d2cddc88eac32f26b18ec26bb59e85c6f09a8c88)
Signed-off-by: Imran Rashid
commit 2ab4012adda941ebd637bd248f65cefdf4aaf110
Author: Marcelo Vanzin
Date: 2018-01-04T23:00:09Z
[SPARK-22948][K8S] Move SparkPodInitContainer to correct package.
Author: Marcelo Vanzin
Closes #20156 from vanzin/SPARK-22948.
(cherry picked from commit 95f9659abe8845f9f3f42fd7ababd79e55c52489)
Signed-off-by: Marcelo Vanzin
commit 84707f0c6afa9c5417e271657ff930930f82213c
Author: Yinan Li
Date: 2018-01-04T23:35:20Z
[SPARK-22953][K8S] Avoids adding duplicated secret volumes when
init-container is used
## What changes were proposed in this pull request?
User-specified secrets are mounted into both the main container and
init-container (when it is used) in a Spark driver/executor pod, using the
`MountSecretsBootstrap`. Because `MountSecretsBootstrap` always adds new secret
volumes for the secrets to the pod, the same secret volumes get added twice,
one when mounting the secrets to the main container, and the other when
mounting the secrets to the init-container. This PR fixes the issue by
separating `MountSecretsBootstrap.mountSecrets` out into two methods:
`addSecretVolumes` for adding secret volumes to a pod and `mountSecrets` for
mounting secret volumes to a container, respectively. `addSecretVolumes` is
only called once for each pod, whereas `mountSecrets` is called individually
for the main container and the init-container (if it is used).
Ref: https://github.com/apache-spark-on-k8s/spark/issues/594.
## How was this patch tested?
Unit tested and manually tested.
vanzin This replaces https://github.com/apache/spark/pull/20148.
hex108 foxish kimoonkim
Author: Yinan Li
Closes #20159 from liyinan926/master.
(cherry picked from commit