Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.4.0
-
None
-
None
Description
The ExecutorService in TaskSchedulerAppCallbackWrapper uses an ExecutorCompletionService to keep track of submitted tasks and their results.
The difference between the Executor and Completion services is that without calling a take()/poll(), the latter leaks FutureTask objects which are held in memory until shutdown.
This results in a leak, from TaskAllocatedCallable -> TezVertexImpl -> TezDagImpl -> Configuration.