Branch: refs/heads/master
Home: https://github.com/jenkinsci/jenkins
Commit: 92147c3597308bc05e6448ccc41409fcc7c05fd7
https://github.com/jenkinsci/jenkins/commit/92147c3597308bc05e6448ccc41409fcc7c05fd7
Author: Stephen Connolly <[email protected]>
Date: 2015-03-24 (Tue, 24 Mar 2015)
Changed paths:
M core/src/main/java/hudson/Functions.java
M core/src/main/java/hudson/model/AbstractCIBase.java
M core/src/main/java/hudson/model/Computer.java
M core/src/main/java/hudson/model/Executor.java
M core/src/main/java/hudson/model/Hudson.java
M core/src/main/java/hudson/model/Node.java
M core/src/main/java/hudson/model/Queue.java
M core/src/main/java/hudson/model/ResourceController.java
M core/src/main/java/hudson/slaves/AbstractCloudSlave.java
M core/src/main/java/hudson/slaves/ComputerRetentionWork.java
M core/src/main/java/hudson/slaves/NodeProvisioner.java
M core/src/main/java/hudson/slaves/RetentionStrategy.java
M core/src/main/java/hudson/slaves/SlaveComputer.java
M core/src/main/java/jenkins/model/Jenkins.java
A core/src/main/java/jenkins/model/Nodes.java
M core/src/main/java/jenkins/util/AtmostOneTaskExecutor.java
M core/src/main/resources/hudson/model/Messages.properties
M core/src/main/resources/lib/hudson/executors.jelly
M core/src/main/resources/lib/layout/layout.jelly
Log Message:
-----------
[FIXED JENKINS-27565] Refactor the Queue and Nodes to use a consistent
locking strategy
The test system I set up to verify resolution of customer(s)' issues driving
this change, required
additional changes in order to fully resolve the issues at hand. As a result I
am bundling these
changes:
- Moves nodes to being store in separate config files outside of the main
config file (improves performance) [FIXED JENKINS-27562]
- Makes the Jenkins is loading screen not block on the extensions loading lock
[FIXED JENKINS-27563]
- Removes race condition rendering the list of executors [FIXED JENKINS-27564]
[FIXED JENKINS-15355]
- Tidy up the locks that were causing deadlocks with the once retention
strategy in durable tasks [FIXED JENKINS-27476]
- Remove any requirement from Jenkins Core to lock on the Queue when rendering
the Jenkins UI [FIXED-JENKINS-27566]
Commit: ebd0bde9fd065f75fc2deb5c2c0ee8c2fce79a63
https://github.com/jenkinsci/jenkins/commit/ebd0bde9fd065f75fc2deb5c2c0ee8c2fce79a63
Author: Stephen Connolly <[email protected]>
Date: 2015-03-24 (Tue, 24 Mar 2015)
Changed paths:
M core/src/main/java/jenkins/model/Nodes.java
Log Message:
-----------
Ooops, forgot that the setting of nodes needs to happen while the Queue lock
is held and the computer list needs updating afterwards
Commit: 027b8a9b37a461e1b7c411af37ff6c976f7d4f8d
https://github.com/jenkinsci/jenkins/commit/027b8a9b37a461e1b7c411af37ff6c976f7d4f8d
Author: Stephen Connolly <[email protected]>
Date: 2015-03-24 (Tue, 24 Mar 2015)
Changed paths:
M core/src/main/java/hudson/model/Queue.java
M test/src/test/java/jenkins/model/JenkinsReloadConfigurationTest.java
Log Message:
-----------
fix failing tests (hopefully)
Commit: 2da5fb94a099bd020e58b5d572cfdf7fabe40b68
https://github.com/jenkinsci/jenkins/commit/2da5fb94a099bd020e58b5d572cfdf7fabe40b68
Author: Stephen Connolly <[email protected]>
Date: 2015-03-24 (Tue, 24 Mar 2015)
Changed paths:
M test/src/test/java/jenkins/model/JenkinsReloadConfigurationTest.java
Log Message:
-----------
Aha! the latest failing test should now be ok
Commit: 9cd00e40dd5ea7f4bfb7ca11b5383d13d0afd8eb
https://github.com/jenkinsci/jenkins/commit/9cd00e40dd5ea7f4bfb7ca11b5383d13d0afd8eb
Author: Stephen Connolly <[email protected]>
Date: 2015-03-25 (Wed, 25 Mar 2015)
Changed paths:
M core/src/main/java/hudson/Functions.java
Log Message:
-----------
added `@since` tag as requested by @jglick
Commit: b341589b5d68c07542f1516207dc1db8eb741c7e
https://github.com/jenkinsci/jenkins/commit/b341589b5d68c07542f1516207dc1db8eb741c7e
Author: Stephen Connolly <[email protected]>
Date: 2015-03-25 (Wed, 25 Mar 2015)
Changed paths:
M core/src/main/java/jenkins/model/Jenkins.java
Log Message:
-----------
If the number of executors changes, then we need to update the computer list
Commit: 1fe73753916646c5f7e45ea6c8eb611cc4f1e5da
https://github.com/jenkinsci/jenkins/commit/1fe73753916646c5f7e45ea6c8eb611cc4f1e5da
Author: Stephen Connolly <[email protected]>
Date: 2015-03-25 (Wed, 25 Mar 2015)
Changed paths:
M core/src/main/java/hudson/model/Computer.java
M core/src/main/java/hudson/model/Executor.java
Log Message:
-----------
Document the terminatedBy methods
Commit: 5a1999ea3035c16160e1961ffc6a61166bc6cae4
https://github.com/jenkinsci/jenkins/commit/5a1999ea3035c16160e1961ffc6a61166bc6cae4
Author: Stephen Connolly <[email protected]>
Date: 2015-03-25 (Wed, 25 Mar 2015)
Changed paths:
M core/src/main/java/hudson/model/Queue.java
Log Message:
-----------
Let's be extra safe with unlocking the lock...
(yes `} finally { updateSnapshot(); } } finally {` looks ugly but it reduces
the amount of indentation changes)
Commit: b4bb963e217a6ef0e88f6d8975e8ae4ebfe63c63
https://github.com/jenkinsci/jenkins/commit/b4bb963e217a6ef0e88f6d8975e8ae4ebfe63c63
Author: Stephen Connolly <[email protected]>
Date: 2015-03-25 (Wed, 25 Mar 2015)
Changed paths:
M core/src/main/java/hudson/model/Queue.java
Log Message:
-----------
Move SaveableListener notification outside of the lock
Commit: 1844f0d93571bf175cb519cec862850b74d5da92
https://github.com/jenkinsci/jenkins/commit/1844f0d93571bf175cb519cec862850b74d5da92
Author: Stephen Connolly <[email protected]>
Date: 2015-03-25 (Wed, 25 Mar 2015)
Changed paths:
M core/src/main/java/hudson/model/Queue.java
Log Message:
-----------
Remove dead code while we are at it
Commit: 215186e0f1aed1992a549ab35ab15c2cdb1f2948
https://github.com/jenkinsci/jenkins/commit/215186e0f1aed1992a549ab35ab15c2cdb1f2948
Author: Stephen Connolly <[email protected]>
Date: 2015-03-25 (Wed, 25 Mar 2015)
Changed paths:
M core/src/main/java/hudson/model/Queue.java
Log Message:
-----------
Grammar
Commit: 951b07789c407aa95b5f59836fc55b3c54480429
https://github.com/jenkinsci/jenkins/commit/951b07789c407aa95b5f59836fc55b3c54480429
Author: Stephen Connolly <[email protected]>
Date: 2015-03-25 (Wed, 25 Mar 2015)
Changed paths:
M core/src/main/java/hudson/slaves/NodeProvisioner.java
Log Message:
-----------
Document locking logic
Commit: 639f06307650de93efce9e93b09cdccc92877bb2
https://github.com/jenkinsci/jenkins/commit/639f06307650de93efce9e93b09cdccc92877bb2
Author: Stephen Connolly <[email protected]>
Date: 2015-03-25 (Wed, 25 Mar 2015)
Changed paths:
M core/src/main/java/jenkins/model/Nodes.java
Log Message:
-----------
Add license header
Commit: f42e7f80ca47b2aef090660be26a035fb429b98d
https://github.com/jenkinsci/jenkins/commit/f42e7f80ca47b2aef090660be26a035fb429b98d
Author: Stephen Connolly <[email protected]>
Date: 2015-03-25 (Wed, 25 Mar 2015)
Changed paths:
M core/src/main/java/jenkins/model/Nodes.java
Log Message:
-----------
Let's keep this private for now
Commit: f30444c819ae7ac143a8a155a7417b3e2d4ab4ec
https://github.com/jenkinsci/jenkins/commit/f30444c819ae7ac143a8a155a7417b3e2d4ab4ec
Author: Stephen Connolly <[email protected]>
Date: 2015-03-25 (Wed, 25 Mar 2015)
Changed paths:
M core/src/main/java/jenkins/model/Nodes.java
Log Message:
-----------
Clarify the cases where we hand-roll in the optimized subset of a save() and
how config files are maintained
Commit: dae0a492b55bba3b5247dcb657e38e75a27d71f5
https://github.com/jenkinsci/jenkins/commit/dae0a492b55bba3b5247dcb657e38e75a27d71f5
Author: Stephen Connolly <[email protected]>
Date: 2015-03-25 (Wed, 25 Mar 2015)
Changed paths:
M core/src/main/resources/lib/hudson/executors.jelly
Log Message:
-----------
Minimise diff to reduce merge conflicts with #1610
Commit: 2d64d160e9ade2ac16c75276b9ad7fac3f0c8758
https://github.com/jenkinsci/jenkins/commit/2d64d160e9ade2ac16c75276b9ad7fac3f0c8758
Author: Stephen Connolly <[email protected]>
Date: 2015-03-25 (Wed, 25 Mar 2015)
Changed paths:
M core/src/main/java/hudson/model/Computer.java
Log Message:
-----------
Missing @since and @Restricted
Commit: c67eddf27bc8ed18be04905a15e0d7a05a20eee6
https://github.com/jenkinsci/jenkins/commit/c67eddf27bc8ed18be04905a15e0d7a05a20eee6
Author: Stephen Connolly <[email protected]>
Date: 2015-03-25 (Wed, 25 Mar 2015)
Changed paths:
M core/src/main/java/hudson/model/Queue.java
Log Message:
-----------
Arg! damn you copy and paste
Commit: df160d63e2526a84c35d920f7fb36cbe95816396
https://github.com/jenkinsci/jenkins/commit/df160d63e2526a84c35d920f7fb36cbe95816396
Author: Stephen Connolly <[email protected]>
Date: 2015-03-25 (Wed, 25 Mar 2015)
Changed paths:
M core/src/main/java/hudson/model/Executor.java
Log Message:
-----------
Use the GuardedBy import that the Jenkins core uses by convention
- We will never mind that this is probably the wrong import to use as Jenkins
core is consistently using the
wrong one (If anyone asks, for a `javax` import to be correct, it should have
a JSR that has passed through voting
and not have a JSR that is still subject to change... OTOH one could argue
that if the JSR 305 should ever
become revived from its current dormant state *and* it is decided to include
in the JRE *then* the packages
would get moved out of `javax` and into `java` so they are not in final form
anyway... but that pre-supposes
that the process of standardization does not modify the annotations and by
virtue of being in `javax`
there will be some special case handling by some classloaders which is why
depending on the JSR305 versions
is, in my view, a bad plan... anyway this is moot... Jenkins core is going
with JSR305 as it currently stands
so we call all go down together!)
Commit: 6a1ed2807ad245f520983469dd7014af3c82adad
https://github.com/jenkinsci/jenkins/commit/6a1ed2807ad245f520983469dd7014af3c82adad
Author: Stephen Connolly <[email protected]>
Date: 2015-03-25 (Wed, 25 Mar 2015)
Changed paths:
M core/src/main/java/hudson/model/Computer.java
Log Message:
-----------
Add some javadoc tags and record the time of the termination request
Commit: 0150209edecdd3be6a0d451b6d42c7273ffff763
https://github.com/jenkinsci/jenkins/commit/0150209edecdd3be6a0d451b6d42c7273ffff763
Author: Stephen Connolly <[email protected]>
Date: 2015-03-25 (Wed, 25 Mar 2015)
Changed paths:
M test/src/test/groovy/hudson/model/AbstractProjectTest.groovy
M test/src/test/java/hudson/model/ExecutorTest.java
M test/src/test/java/hudson/model/GetEnvironmentOutsideBuildTest.java
M test/src/test/java/hudson/model/QueueTest.java
Log Message:
-----------
Remove `jenkins.setNodes(jenkins.getNodes())` style hacks to force the master
number of executors to be updated
Commit: 91527df490552327e2beb3e2c54bbfaa76589084
https://github.com/jenkinsci/jenkins/commit/91527df490552327e2beb3e2c54bbfaa76589084
Author: Stephen Connolly <[email protected]>
Date: 2015-03-25 (Wed, 25 Mar 2015)
Changed paths:
M core/src/main/java/hudson/model/Executor.java
Log Message:
-----------
fix guarded by values
Commit: cf9f3cfbed7200b17e49941800902e56532f5d47
https://github.com/jenkinsci/jenkins/commit/cf9f3cfbed7200b17e49941800902e56532f5d47
Author: Stephen Connolly <[email protected]>
Date: 2015-03-25 (Wed, 25 Mar 2015)
Changed paths:
M core/src/main/java/hudson/slaves/NodeProvisioner.java
Log Message:
-----------
More fun with GuardedBy
Commit: 89835c85acff5832631bb1dfd8e4003a8d444c02
https://github.com/jenkinsci/jenkins/commit/89835c85acff5832631bb1dfd8e4003a8d444c02
Author: Stephen Connolly <[email protected]>
Date: 2015-03-25 (Wed, 25 Mar 2015)
Changed paths:
M core/src/main/java/hudson/slaves/RetentionStrategy.java
Log Message:
-----------
Even more fun with GuardedBy
Commit: 8264236a07e047c202a4681ff325f0aa9ca7b632
https://github.com/jenkinsci/jenkins/commit/8264236a07e047c202a4681ff325f0aa9ca7b632
Author: Stephen Connolly <[email protected]>
Date: 2015-03-25 (Wed, 25 Mar 2015)
Changed paths:
M core/src/main/java/hudson/slaves/CloudRetentionStrategy.java
M core/src/main/java/hudson/slaves/CloudSlaveRetentionStrategy.java
M core/src/main/java/hudson/slaves/RetentionStrategy.java
M core/src/main/java/hudson/slaves/SimpleScheduledRetentionStrategy.java
Log Message:
-----------
Update the retention strategies... the JSR 305 annotations do not seem to be
spec'd to apply to child methods also... bold poorly spec'd annotations
Commit: a50bdf9e6d0695d5f209bb65ff6e1bc0a4cce3a1
https://github.com/jenkinsci/jenkins/commit/a50bdf9e6d0695d5f209bb65ff6e1bc0a4cce3a1
Author: Stephen Connolly <[email protected]>
Date: 2015-03-25 (Wed, 25 Mar 2015)
Changed paths:
M .editorconfig
M changelog.html
M cli/pom.xml
M core/pom.xml
M core/src/main/java/hudson/Util.java
M core/src/main/java/hudson/cli/declarative/MethodBinder.java
M core/src/main/java/hudson/model/AbstractItem.java
M core/src/main/java/hudson/model/Slave.java
M core/src/main/java/hudson/model/User.java
M core/src/main/java/hudson/security/HudsonFilter.java
M core/src/main/java/hudson/slaves/CommandLauncher.java
M core/src/main/java/hudson/slaves/SlaveComputer.java
M core/src/main/java/hudson/util/FormValidation.java
M core/src/main/java/hudson/util/ReflectionUtils.java
M core/src/main/java/hudson/views/BuildButtonColumn.java
M core/src/main/java/hudson/views/JobColumn.java
M core/src/main/java/hudson/views/LastDurationColumn.java
M core/src/main/java/hudson/views/LastFailureColumn.java
M core/src/main/java/hudson/views/LastStableColumn.java
M core/src/main/java/hudson/views/LastSuccessColumn.java
M core/src/main/java/hudson/views/ListViewColumn.java
M core/src/main/java/hudson/views/StatusColumn.java
M core/src/main/java/hudson/views/WeatherColumn.java
M core/src/main/java/jenkins/security/ApiTokenProperty.java
M core/src/main/resources/hudson/PluginManager/advanced_ja.properties
M core/src/main/resources/hudson/PluginManager/check.jelly
M core/src/main/resources/hudson/PluginManager/check_ja.properties
M core/src/main/resources/hudson/diagnosis/Messages_ja.properties
M
core/src/main/resources/hudson/diagnosis/NullIdDescriptorMonitor/message_ja.properties
M core/src/main/resources/hudson/model/AllView/noJob_ja.properties
M core/src/main/resources/hudson/model/Computer/index_ja.properties
M core/src/main/resources/hudson/model/Job/buildTimeTrend_ja.properties
M core/src/main/resources/hudson/model/Label/sidepanel_ja.properties
M core/src/main/resources/hudson/model/Messages.properties
M core/src/main/resources/hudson/model/Slave/help-remoteFS.html
M core/src/main/resources/hudson/model/View/builds_pl.properties
M
core/src/main/resources/hudson/model/labels/LabelAtom/configure_ja.properties
M
core/src/main/resources/hudson/security/LegacyAuthorizationStrategy/help.html
A core/src/main/resources/hudson/slaves/SlaveComputer/log_ja.properties
M core/src/main/resources/hudson/tasks/ArtifactArchiver/config_ja.properties
M
core/src/main/resources/hudson/widgets/BuildHistoryWidget/entries_ja.properties
M core/src/main/resources/jenkins/model/Jenkins/login_pl.properties
R
core/src/main/resources/lib/hudson/project/config-upstream-pseudo-trigger_ja.properties
M core/src/main/resources/lib/layout/pane_ja.properties
M core/src/test/java/hudson/UtilTest.java
M core/src/test/java/hudson/util/FormValidationTest.java
M debian/debian/changelog
M licenseCompleter.groovy
M plugins/pom.xml
M pom.xml
M test/pom.xml
A test/src/main/java/org/jvnet/hudson/test/BuildWatcher.java
M test/src/main/java/org/jvnet/hudson/test/JenkinsRule.java
M test/src/test/groovy/hudson/model/SlaveTest.groovy
M test/src/test/java/hudson/model/QueueTest.java
M test/src/test/java/hudson/model/UserTest.java
A test/src/test/java/jenkins/security/Security177Test.java
M war/pom.xml
Log Message:
-----------
Merge remote-tracking branch 'origin/master' into threadsafe-node-queue
Commit: 7558a6a3840d41f7e5f928e78d02e3ce9590a815
https://github.com/jenkinsci/jenkins/commit/7558a6a3840d41f7e5f928e78d02e3ce9590a815
Author: Stephen Connolly <[email protected]>
Date: 2015-03-25 (Wed, 25 Mar 2015)
Changed paths:
M changelog.html
M core/src/main/java/hudson/model/Computer.java
M core/src/main/java/hudson/model/Executor.java
M core/src/main/java/hudson/model/OneOffExecutor.java
M core/src/main/java/hudson/model/Queue.java
M core/src/main/java/hudson/model/ResourceController.java
M core/src/main/java/hudson/model/RestartListener.java
M core/src/main/java/hudson/model/Run.java
M core/src/main/java/hudson/model/queue/AbstractSubTask.java
M core/src/main/java/hudson/model/queue/WorkUnitContext.java
M core/src/main/java/jenkins/model/Jenkins.java
A core/src/main/java/jenkins/model/queue/AsynchronousExecution.java
M core/src/main/java/jenkins/security/s2m/FilePathRuleConfig.java
M core/src/main/resources/lib/hudson/buildProgressBar.jelly
M core/src/main/resources/lib/hudson/executors.jelly
M test/src/test/java/jenkins/security/DefaultFilePathFilterTest.java
Log Message:
-----------
Merge remote-tracking branch 'origin/master' into threadsafe-node-queue
Commit: 9a7d578a0b0d9f24a65e3e8ff6e6675f475de400
https://github.com/jenkinsci/jenkins/commit/9a7d578a0b0d9f24a65e3e8ff6e6675f475de400
Author: Stephen Connolly <[email protected]>
Date: 2015-03-26 (Thu, 26 Mar 2015)
Changed paths:
M core/src/main/java/hudson/model/AbstractCIBase.java
M core/src/main/java/hudson/model/Computer.java
Log Message:
-----------
Ensure that listeners do not get notified when a computer is killed from a
thread with the Queue lock
- We don't know what those listeners will be doing
- I'm not completely happy with having to do it this way, there are some
theoretical paths where we end
up re-acquiring the Queue lock in Computer.kill() but they should not be the
normal path
Commit: 17d6d415e678ce5a06fea4cfd3b826f0e432b496
https://github.com/jenkinsci/jenkins/commit/17d6d415e678ce5a06fea4cfd3b826f0e432b496
Author: Stephen Connolly <[email protected]>
Date: 2015-03-26 (Thu, 26 Mar 2015)
Changed paths:
M core/src/main/java/hudson/model/AbstractCIBase.java
Log Message:
-----------
Doeth, this didn't pick up the old ones
Commit: ecac963eaff0608accf950d90d75cff8b66bdc4c
https://github.com/jenkinsci/jenkins/commit/ecac963eaff0608accf950d90d75cff8b66bdc4c
Author: Stephen Connolly <[email protected]>
Date: 2015-03-26 (Thu, 26 Mar 2015)
Changed paths:
M core/src/main/java/hudson/Functions.java
M core/src/main/java/hudson/model/AbstractCIBase.java
M core/src/main/java/hudson/model/Computer.java
M core/src/main/java/hudson/model/Executor.java
M core/src/main/java/hudson/model/Hudson.java
M core/src/main/java/hudson/model/Node.java
M core/src/main/java/hudson/model/Queue.java
M core/src/main/java/hudson/model/ResourceController.java
M core/src/main/java/hudson/slaves/AbstractCloudSlave.java
M core/src/main/java/hudson/slaves/CloudRetentionStrategy.java
M core/src/main/java/hudson/slaves/CloudSlaveRetentionStrategy.java
M core/src/main/java/hudson/slaves/ComputerRetentionWork.java
M core/src/main/java/hudson/slaves/NodeProvisioner.java
M core/src/main/java/hudson/slaves/RetentionStrategy.java
M core/src/main/java/hudson/slaves/SimpleScheduledRetentionStrategy.java
M core/src/main/java/hudson/slaves/SlaveComputer.java
M core/src/main/java/jenkins/model/Jenkins.java
A core/src/main/java/jenkins/model/Nodes.java
M core/src/main/java/jenkins/util/AtmostOneTaskExecutor.java
M core/src/main/resources/hudson/model/Messages.properties
M core/src/main/resources/lib/hudson/executors.jelly
M core/src/main/resources/lib/layout/layout.jelly
M test/src/test/groovy/hudson/model/AbstractProjectTest.groovy
M test/src/test/java/hudson/model/ExecutorTest.java
M test/src/test/java/hudson/model/GetEnvironmentOutsideBuildTest.java
M test/src/test/java/hudson/model/QueueTest.java
M test/src/test/java/jenkins/model/JenkinsReloadConfigurationTest.java
Log Message:
-----------
Merge pull request #1596 from stephenc/threadsafe-node-queue
[JENKINS-27565] Fix threading issues with Nodes and Queue
Compare:
https://github.com/jenkinsci/jenkins/compare/1c781526a644...ecac963eaff0
--
You received this message because you are subscribed to the Google Groups
"Jenkins Commits" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.