-
Improvement
-
Resolution: Fixed
-
Major
When I submit an empty Freestyle job config in the default configuration of Jenkins 2.35, the data is being saved to the disk 8 times. All of them happen in this code: https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/model/Job.java#L1227-L1246
- setDisplayName
- Project#getBuildWrappersList().rebuild (onModified handler)
- Project#getBuilderList().rebuild (onModified handler)
- Project#getPublisherList().rebuild (onModified handler)
- AbstractProject#makeDisabled
- AbstractProject#setScm
- AbstractProject#triggers.replaceBy
- final save()
I think there is not so much sense to submit partial configurations to the disk due to the risk of data inconsistency there. I propose to wrap the selected code segment into a bulk operation
- is blocking
-
JENKINS-42886 Detect changes made by other plugins (not via Configure screen)
-
- Closed
-
- is duplicated by
-
JENKINS-8953 SaveableListener.onchange() called multiple times after a job config save
-
- Closed
-
- links to
Code changed in jenkins
User: Oleg Nenashev
Path:
core/src/main/java/hudson/model/Job.java
http://jenkins-ci.org/commit/jenkins/a0262d2fec648fe98e83a08f1735394a9f243f4d
Log:
JENKINS-40435- Use BulkChange when processing config changes in Job#doConfigSubmit. (#2664)When an empty Freestyle job config gets submitted in the default configuration of Jenkins 2.35, the data is being saved to the disk 8 times. All of them happen in this code: https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/model/Job.java#L1227-L1246
There is not so much sense to save partial configurations to the disk due to the risk of data inconsistency there. This change just wraps the config submission section of the job into the BulkChange clause.