MAPREDUCE-6621. Memory Leak in JobClient#submitJobInternal(). Contributed by Xuan Gong

This commit is contained in:
Jason Lowe 2016-02-02 19:30:45 +00:00
parent dd9ebf6eed
commit 43e669b22d
2 changed files with 14 additions and 0 deletions

View File

@ -739,6 +739,9 @@ Release 2.7.3 - UNRELEASED
MAPREDUCE-6618. YarnClientProtocolProvider leaking the YarnClient thread.
(Xuan Gong via jlowe)
MAPREDUCE-6621. Memory Leak in JobClient#submitJobInternal() (Xuan Gong
via jlowe)
Release 2.7.2 - 2016-01-25
INCOMPATIBLE CHANGES
@ -1047,6 +1050,9 @@ Release 2.6.4 - UNRELEASED
MAPREDUCE-6618. YarnClientProtocolProvider leaking the YarnClient thread.
(Xuan Gong via jlowe)
MAPREDUCE-6621. Memory Leak in JobClient#submitJobInternal() (Xuan Gong
via jlowe)
Release 2.6.3 - 2015-12-17
INCOMPATIBLE CHANGES

View File

@ -577,10 +577,18 @@ public class JobClient extends CLI implements AutoCloseable {
return job;
}
});
Cluster prev = cluster;
// update our Cluster instance with the one created by Job for submission
// (we can't pass our Cluster instance to Job, since Job wraps the config
// instance, and the two configs would then diverge)
cluster = job.getCluster();
// It is important to close the previous cluster instance
// to cleanup resources.
if (prev != null) {
prev.close();
}
return new NetworkedJob(job);
} catch (InterruptedException ie) {
throw new IOException("interrupted", ie);