RETIRED, The jenkins gearman plugin
Go to file
James E. Blair 8e62012466 Don't wait for the worker thread to join
If a node is deleted, it can call the AbstractWorkerThread.stop
method while holding the monitor lock on the Jenkins object.  This
will interrupt the GearmanWorkerImpl thread, and then wait for it
to join.  However, if at that moment, the GWI is trying to set
the node offline (due to OFFLINE_NODE_WHEN_COMPLETE being set),
then the system will deadlock while that thread tries to grab
the Jenkins object monitor in order to save the new node
configuration.

Instead, just don't wait for the thread to join, which will
eventually release the monitor lock and allow the GWI thread
to complete.

Change-Id: Ic8dbdf73551feb684ac4f3e46d2ee3e5aef976db
2013-08-16 12:55:37 -07:00
.settings update eclipse setting 2013-01-29 12:05:01 -08:00
src Don't wait for the worker thread to join 2013-08-16 12:55:37 -07:00
.classpath add new unit tests for plugin 2013-03-20 21:11:27 -07:00
.gitignore Fix to register all projects and register an additional gearman function for each project. 2013-02-22 10:29:00 -08:00
.gitreview Added .gitreview 2013-01-10 23:49:17 +00:00
.project abort running jenkins builds 2013-02-21 10:17:54 -08:00
.pydevproject abort running jenkins builds 2013-02-21 10:17:54 -08:00
LICENSE add pom.xml and gearman-plugin source file. 2013-01-29 10:09:47 -08:00
README.rst update docs 2013-03-27 14:53:13 -07:00
bsd.txt setup gearman workers 2013-02-06 10:21:20 -08:00
debug Gearman configuration UI is setup in the jenkins config page 2013-01-29 12:05:01 -08:00
install-fast setup skeleton GearmanPlugin. 2013-01-29 12:04:42 -08:00
pom.xml setup version as a parameter 2013-06-19 14:32:49 -07:00
run-fast Add local GearmanWorker. 2013-04-22 10:29:03 -07:00

README.rst

Overview

This plugin uses Gearman to support multiple Jenkins masters. More info can be found at https://wiki.jenkins-ci.org/display/JENKINS/Gearman+Plugin

Contributing

If you would like to contribute to the development of OpenStack, you must follow the steps in the "If you're a developer, start here" section of this page:

http://wiki.openstack.org/HowToContribute

Once those steps have been completed, changes to OpenStack should be submitted for review via the Gerrit tool, following the workflow documented at:

http://wiki.openstack.org/GerritWorkflow

Pull requests submitted through GitHub will be ignored.

Project site:

Patches are submitted via Gerrit at:

Bugs should be filed on Launchpad, not GitHub:

https://bugs.launchpad.net/gearman-plugin

Cloning:

License

Copyright 2013 Hewlett-Packard Development Company, L.P.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.