jenkinsci / jenkinsci/docker-workflow-plugin
[JENKINS-60898] Contention on fingerprint files when using Docker steps
- Dominant language
- Java
- Stars
- 527
- Forks
- 422
- Avg merge
- 10m
- Merged PRs (30d)
- 1
Description
We have a jenkins master and slave running several docker based jobs every minute.
The execution times of each job is well under a minute, the longest one is 45 seconds.
Each job gets to https://github.com/jenkinsci/docker-workflow-plugin/blob/0540c1482c4b18beaa0f036491d5a732f0e024b0/src/main/java/org/jenkinsci/plugins/docker/workflow/WithContainerStep.java#L196 and hangs.
Looking at the thread dump (attached) threads are blocking on hudson.model.Fingerprint.save(Fingerprint.java:1244).
Further investigation yielded that these saves are writing to the jenkins fingerprint files.
Looking at the master server, the fingerprints directory is varying by hundreds of MBs every second.
There are several large xml files being created in the subdirectories containing ContainerRecords many for containers which are not currently returned by docker ps -a.
The number of build logs to keep is set to 25.
The disk used by the jenkins master is getting hammered more than several high usage production databases we have running in production (image attached).
---
Originally reported by jlundy, imported from: Contention on fingerprint files when using Docker steps
Raw content of original issue
We have a jenkins master and slave running several docker based jobs every minute.
The execution times of each job is well under a minute, the longest one is 45 seconds.
Each job gets to https://github.com/jenkinsci/docker-workflow-plugin/blob/0540c1482c4b18beaa0f036491d5a732f0e024b0/src/main/java/org/jenkinsci/plugins/docker/workflow/WithContainerStep.java#L196 and hangs.
Looking at the thread dump (attached) threads are blocking on hudson.model.Fingerprint.save(Fingerprint.java:1244).
Further investigation yielded that these saves are writing to the jenkins fingerprint files.
Looking at the master server, the fingerprints directory is varying by hundreds of MBs every second.
There are several large xml files being created in the subdirectories containing ContainerRecords many for containers which are not currently returned by docker ps -a.
The number of build logs to keep is set to 25.
The disk used by the jenkins master is getting hammered more than several high usage production databases we have running in production (image attached).
- environment:
Jenkins ver. 2.176.3
2 attachments
- [JenkinsThreadDump.txt](https://issues.jenkins.io/secure/attachment/50056/JenkinsThreadDump.txt)
- [Screen Shot 2020-01-28 at 5.11.44 PM.png](https://issues.jenkins.io/secure/attachment/50054/Screen%20Shot%202020-01-28%20at%205.11.44%20PM.png)
> 
Contributor guide
Assessment
This issue has not been assessed yet.