You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[JENKINS-24763] Long running OldDataMonitor.doDiscard() results in thread starvation #23457
doDiscard is synchronized and hudson.diagnosis.OldDataMonitor#remove also wants to lock OldDataMonitor. Most threads eventually lock when saving something, at least until the doDiscard eventually completes.
doDiscard is synchronized and hudson.diagnosis.OldDataMonitor#remove also wants to lock OldDataMonitor. Most threads eventually lock when saving something, at least until the doDiscard eventually completes.
In the meantime, no build can finish, and no slaves can come online. In the incident observed, the discard was taking more than an hour and Jenkins could not complete builds or do basically any other operation.
It's unacceptable for Jenkins to be inoperable for minutes at a time, hence a higher severity.
I suppose this is really just "starvation' instead of a livelock per se. Will update the description.
In the meantime, no build can finish, and no slaves can come online. In the incident observed, the discard was taking more than an hour and Jenkins could not complete builds or do basically any other operation.
It's unacceptable for Jenkins to be inoperable for minutes at a time, hence a higher severity.
I suppose this is really just "starvation' instead of a livelock per se. Will update the description.
What makes you think this is really a problem in OldDataMonitor? I look at the thread dump and I see JobConfigHistorySaveableListener being likely at fault.
What makes you think this is really a problem in OldDataMonitor? I look at the thread dump and I see JobConfigHistorySaveableListener being likely at fault.
FWIW JobConfigHistorySaveableListener takes forever in my experience if you enable the deduplication option ("Do not save duplicate history"). I've long disabled it for that reason.
FWIW JobConfigHistorySaveableListener takes forever in my experience if you enable the deduplication option ("Do not save duplicate history"). I've long disabled it for that reason.
I see Jesse's point about JobConfigHistorySaveableListener – it's certainly the root cause.
Nevertheless, OldDataMonitor could be more robust by reducing the scope of it's lock – to better handle other poorly performing SaveableListeners. So I'll change this to an Improvement if that suits you.
I see Jesse's point about JobConfigHistorySaveableListener – it's certainly the root cause.
Nevertheless, OldDataMonitor could be more robust by reducing the scope of it's lock – to better handle other poorly performing SaveableListeners. So I'll change this to an Improvement if that suits you.
Integrated in jenkins_main_trunk #3738JENKINS-24763 Prevent thread starvation in OldDataMonitor by reducing scope of synchronization (Revision 423b51a43a3c2f469d12695c5fddcda52e97159e)
[FIXED JENKINS-24763] Noting merge of #1402. (Revision a8262d503e6af11feebac6005360d4db7639aff4)
Activity
jenkins-infra-bot commentedon Sep 18, 2014
Raw content of original comment:
Appears to be a rather minor issue (with the workaround being to wait for ODM to finish).
In what way is this a livelock?
jenkins-infra-bot commentedon Sep 18, 2014
Raw content of original comment:
In the meantime, no build can finish, and no slaves can come online. In the incident observed, the discard was taking more than an hour and Jenkins could not complete builds or do basically any other operation.
It's unacceptable for Jenkins to be inoperable for minutes at a time, hence a higher severity.
I suppose this is really just "starvation' instead of a livelock per se. Will update the description.
jenkins-infra-bot commentedon Sep 18, 2014
Raw content of original comment:
Pull request: #1399
jenkins-infra-bot commentedon Sep 18, 2014
Raw content of original comment:
What makes you think this is really a problem in OldDataMonitor? I look at the thread dump and I see JobConfigHistorySaveableListener being likely at fault.
jenkins-infra-bot commentedon Sep 19, 2014
Raw content of original comment:
FWIW JobConfigHistorySaveableListener takes forever in my experience if you enable the deduplication option ("Do not save duplicate history"). I've long disabled it for that reason.
jenkins-infra-bot commentedon Sep 20, 2014
Raw content of original comment:
I see Jesse's point about JobConfigHistorySaveableListener – it's certainly the root cause.
Nevertheless, OldDataMonitor could be more robust by reducing the scope of it's lock – to better handle other poorly performing SaveableListeners. So I'll change this to an Improvement if that suits you.
jenkins-infra-bot commentedon Sep 20, 2014
Raw content of original comment:
Makes sense.
jenkins-infra-bot commentedon Sep 24, 2014
Raw content of original comment:
Latest pull request: #1402
jenkins-infra-bot commentedon Oct 10, 2014
Raw content of original comment:
Code changed in jenkins
User: Ryan Campbell
Path:
core/src/main/java/hudson/diagnosis/OldDataMonitor.java
test/src/test/java/hudson/diagnosis/OldDataMonitorTest.java
http://jenkins-ci.org/commit/jenkins/423b51a43a3c2f469d12695c5fddcda52e97159e
Log:
JENKINS-24763Prevent thread starvation in OldDataMonitor by reducing scope of synchronizationjenkins-infra-bot commentedon Oct 10, 2014
Raw content of original comment:
Code changed in jenkins
User: Jesse Glick
Path:
core/src/main/java/hudson/diagnosis/OldDataMonitor.java
test/src/test/java/hudson/diagnosis/OldDataMonitorTest.java
http://jenkins-ci.org/commit/jenkins/ef6c04244744670650fb36a4482e74daf2094f26
Log:
Merge branch '
JENKINS-24763' of github.com:recampbell/jenkinsjenkins-infra-bot commentedon Oct 10, 2014
Raw content of original comment:
Code changed in jenkins
User: Jesse Glick
Path:
changelog.html
http://jenkins-ci.org/commit/jenkins/a8262d503e6af11feebac6005360d4db7639aff4
Log:
[FIXED JENKINS-24763] Noting merge of #1402.
Compare: 3addbab...a8262d5
jenkins-infra-bot commentedon Oct 10, 2014
Raw content of original comment:
Jesse Glick : a8262d503e6af11feebac6005360d4db7639aff4 Files :
Integrated in
jenkins_main_trunk #3738
JENKINS-24763Prevent thread starvation in OldDataMonitor by reducing scope of synchronization (Revision 423b51a)[FIXED JENKINS-24763] Noting merge of #1402. (Revision a8262d5)
Result = SUCCESS
Ryan Campbell : 423b51a43a3c2f469d12695c5fddcda52e97159e
Files :
Jesse Glick : a8262d503e6af11feebac6005360d4db7639aff4
Files :
jenkins-infra-bot commentedon Nov 21, 2014
Raw content of original comment:
Could you please add this also to lts?
jenkins-infra-bot commentedon Feb 5, 2015
Raw content of original comment:
The 1.580.x line is done with the RC to 1.580.3 posted, and it will be in 1.596.x already.
jenkins-infra-bot commentedon Nov 24, 2025
[Original
is_duplicated_byfrom Jira: JENKINS-24303]