GitHub user sarutak opened a pull request:
https://github.com/apache/spark/pull/22258
[SPARK-25266] Fix memory leak vulnerability in Barrier Execution Mode
## What changes were proposed in this pull request?
BarrierCoordinator$ uses Timer and TimerTask. `TimerTask#cancel()` is
invoked in ContextBarrierState#cancelTimerTask but `Timer#purge()` is never
invoked.
Once a TimerTask is scheduled, the reference to it is not released until
`Timer#purge()` is invoked even though `TimerTask#cancel()` is invoked.
## How was this patch tested?
I checked the number of instances related to the TimerTask using jmap.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/sarutak/spark fix-barrierexec-oom
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/spark/pull/22258.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 #22258
----
commit 15039741fa25ca6a6a8df5e887351789be28f49e
Author: sarutak <sarutak@...>
Date: 2018-08-28T17:06:11Z
Fixed OOM issue in Barrier Execution Mode
----
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]