Details
-
Bug
-
Status: Resolved (View Workflow)
-
Critical
-
Resolution: Fixed
Description
The data map in hudson.diagnosis.OldDataMonitor keeps growing on my machine.
I have removed an old plugin, which has stored it's settings in all project files.
Now, on each load/access of a project a new FreeStyleProject object seems to be created and each time the old data is found and the project (as it is a Saveable) is stored as containing old data in the data map of the OldDataMonitor instance.
One would think that this should not be a problem with only 20 projects but FreeStyleProject does not implement equals and hashCode and therefore every single project object is kept around in this map.
After a week since the last restart it has accumulated a total of over 200k map entries totaling a whopping 1GB of heap memory.
I would love to remove this old data but because of bug JENKINS-18809 I can't even do that. I will remove it by hand.
Attachments
Issue Links
- depends on
-
JENKINS-24358 Deadlock in OldDataMonitor
-
- Resolved
-
-
JENKINS-20950 NPE during Discard Old Data
-
- Resolved
-
- is related to
-
JENKINS-18809 Discard Unreadable Data results in an NPE
-
- Resolved
-
-
JENKINS-22261 Link for "Manage Old Data" fails with a "Content Encoding Error" error in the browser.
-
- Closed
-
Code changed in jenkins
User: Jesse Glick
Path:
changelog.html
core/src/main/java/hudson/diagnosis/OldDataMonitor.java
test/src/test/java/hudson/diagnosis/OldDataMonitorTest.java
http://jenkins-ci.org/commit/jenkins/681a8ff3070736610f338972ba433379723346fb
Log:
[FIXED JENKINS-19544] When OldDataMonitor is reported a Run, just remember the ID rather than holding a strong reference.
Compare: https://github.com/jenkinsci/jenkins/compare/10eca374e5eb...681a8ff30707