-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix job-master leak memory when submitting distributed jobs #18639
Fix job-master leak memory when submitting distributed jobs #18639
Conversation
Thank you for your pull request. |
Automated checks report:
Some checks failed. Please fix the reported issues and reply |
c176c77
to
f444eec
Compare
Automated checks report:
All checks passed! |
Thank you for your pull request. |
job/server/src/main/java/alluxio/master/job/tracker/CmdJobTracker.java
Outdated
Show resolved
Hide resolved
job/server/src/main/java/alluxio/master/job/tracker/CmdJobTracker.java
Outdated
Show resolved
Hide resolved
f444eec
to
d159bfb
Compare
d159bfb
to
9729ae2
Compare
JobDoesNotExistException, ResourceExhaustedException { | ||
checkActiveSetReplicaJobs(jobConfig); | ||
if (removeFinished()) { | ||
if (mCoordinators.size() < mCapacity) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is there the capacity limit. the running job limits is here:
alluxio/job/server/src/main/java/alluxio/master/job/tracker/DistLoadCliRunner.java
Line 159 in 1359cc5
if (mSubmitted.size() >= mActiveJobs) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Compatibility with some unit tests.
@jja725 Can help us review the PR? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks for the improvement!
674269c
to
cac30e1
Compare
fix:Only the DIST_LOAD cmdInfo will be deleted.
cac30e1
to
149db94
Compare
alluxio-bot, merge this please. |
alluxio-bot, cherry-pick this to branch-2.10 please |
fix:fix job-master leak memory when submitting a large number of distributed jobs(DIST_LOAD/DIST_CP/Persist jobs) ### What changes are proposed in this pull request? Start a periodic thread to clear expired jobs information that cannot be trace by the client in CmdJobTracker.The default retention time is 1day,which is the same configuration as LoadV2. ### Why are the changes needed? When many jobs are submitted,the job master finally will have an oom problem, we can find that the cmdJobTracker retains the residual job information and not cleaned regularly, resulting in memory leaks. ### Does this PR introduce any user facing changes? Please list the user-facing changes introduced by your change, including 1.add Configuration: alluxio.job.master.job.trace.retention.time=xx,the default value is 1d. Related issue: #18635 pr-link: #18639 change-id: cid-d4e5853a1818a22c8a0411a27bfe1141c6f24ebd
Auto cherry-pick to branch |
Cherry-pick of existing commit. orig-pr: #18639 orig-commit: a4ec456 orig-commit-author: Echo🌟 <[email protected]> pr-link: #18651 change-id: cid-d4e5853a1818a22c8a0411a27bfe1141c6f24ebd
fix:fix job-master leak memory when submitting a large number of distributed jobs(DIST_LOAD/DIST_CP/Persist jobs)
What changes are proposed in this pull request?
Start a periodic thread to clear expired jobs information that cannot be trace by the client in CmdJobTracker.The default retention time is 1day,which is the same configuration as LoadV2.
Why are the changes needed?
When many jobs are submitted,the job master finally will have an oom problem, we can find that the cmdJobTracker retains the residual job information and not cleaned regularly, resulting in memory leaks.
Does this PR introduce any user facing changes?
Please list the user-facing changes introduced by your change, including
1.add Configuration:
alluxio.job.master.job.trace.retention.time=xx,the default value is 1d.
Related issue: #18635