Branch: refs/heads/pull-1596
  Home:   https://github.com/jenkinsci/jenkins
  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: 039ad1cc33912f4cf6d5a67e668e19fe84551679
      
https://github.com/jenkinsci/jenkins/commit/039ad1cc33912f4cf6d5a67e668e19fe84551679
  Author: Kohsuke Kawaguchi <[email protected]>
  Date:   2015-03-25 (Wed, 25 Mar 2015)

  Changed paths:
    M core/src/main/java/hudson/model/ResourceController.java

  Log Message:
  -----------
  These data structures need not use Queue lock.

The synchronization in original code was needed to control the mutation of 
#inProgress and #inUse.
In particular, one thread that's blocking in the beginning of execute()
can get notified when another thread leaves the execute() method.

ResourceList is used as immutable in this context, and so is Resource.


  Commit: d7bc73a2e1a43bef0c348cee8445acd9303dad6c
      
https://github.com/jenkinsci/jenkins/commit/d7bc73a2e1a43bef0c348cee8445acd9303dad6c
  Author: Kohsuke Kawaguchi <[email protected]>
  Date:   2015-03-25 (Wed, 25 Mar 2015)

  Changed paths:
    M core/src/main/java/hudson/model/Executor.java
    M core/src/main/java/hudson/model/Queue.java
    M core/src/main/java/hudson/slaves/ComputerRetentionWork.java

  Log Message:
  -----------
  Signature change to defer the queue task work


  Commit: f14bc9e1e2d82d0d6e077ff0839fb62833804551
      
https://github.com/jenkinsci/jenkins/commit/f14bc9e1e2d82d0d6e077ff0839fb62833804551
  Author: Kohsuke Kawaguchi <[email protected]>
  Date:   2015-03-25 (Wed, 25 Mar 2015)

  Changed paths:
    M core/src/main/java/hudson/model/Queue.java

  Log Message:
  -----------
  Return ListenableFuture to enable chaining.

If some additional computation (such as firing off other listeners) need
to happen after some computation with queue, then this would be handy.


  Commit: 35b9d79579ddad06f4b8c1ca01a79d8345efe950
      
https://github.com/jenkinsci/jenkins/commit/35b9d79579ddad06f4b8c1ca01a79d8345efe950
  Author: Kohsuke Kawaguchi <[email protected]>
  Date:   2015-03-25 (Wed, 25 Mar 2015)

  Changed paths:
    M core/src/main/java/hudson/slaves/NodeProvisioner.java

  Log Message:
  -----------
  NodeProvisioner.update() runs asynchronously

so the provisioningLock needs to be held inside the async execution, not at the 
point of the submission.

suggestReviewNow() doesn't have to call update() from another thread either.


  Commit: 427d979c160b7f63f4a2bc490a34dfce5a7662ed
      
https://github.com/jenkinsci/jenkins/commit/427d979c160b7f63f4a2bc490a34dfce5a7662ed
  Author: Kohsuke Kawaguchi <[email protected]>
  Date:   2015-03-25 (Wed, 25 Mar 2015)

  Changed paths:
    M core/src/main/java/hudson/model/AbstractCIBase.java

  Log Message:
  -----------
  getComputerMap() should now move into the asynchronous code.

And ComputerListener callback can happen afterward.


  Commit: 311942937f733b292eda451f0af682b92abfa1ab
      
https://github.com/jenkinsci/jenkins/commit/311942937f733b292eda451f0af682b92abfa1ab
  Author: Kohsuke Kawaguchi <[email protected]>
  Date:   2015-03-25 (Wed, 25 Mar 2015)

  Changed paths:
    M core/src/main/java/jenkins/model/Nodes.java

  Log Message:
  -----------
  All queue mutation in the Nodes class appears synchronous.

And I see no way around it, mainly because of the following pattern:

1. getNodes() to obtain a list
2. do some stuff with list
3. setNodes()


  Commit: 10e9887a22c87bfb08ea1bb2346f42032a090228
      
https://github.com/jenkinsci/jenkins/commit/10e9887a22c87bfb08ea1bb2346f42032a090228
  Author: Kohsuke Kawaguchi <[email protected]>
  Date:   2015-03-25 (Wed, 25 Mar 2015)

  Changed paths:
    M core/src/main/java/hudson/model/Queue.java
    M core/src/main/java/jenkins/model/Nodes.java
    M test/src/test/java/hudson/model/ExecutorTest.java

  Log Message:
  -----------
  We need to wait for the side-effect of asynchronous executions to complete.

Or else if somebody wants to get Computer for a newly added Node
immediately afterward, there won't be one. This resulted in a couple of
test failures.

Exposing this from Queue so that test code can use it.


Compare: 
https://github.com/jenkinsci/jenkins/compare/012ca55028c9...10e9887a22c8

-- 
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.

Reply via email to