Kohsuke Kawaguchi be1f8f91a3 Fixed a bug in Jenkins.overallNodeProvisioner
Until now, Jenkins.overallNodeProvisioner was tracking an inconsistent
pair of numbers. On one hand, it was tracking all the executors in the
system, but then it was also only tracking the # of free-roaming
label-unassigned jobs as the queue length.

So if all your slaves are set with Node.Mode.EXCLUSIVE and you have some
free-roaming jobs, then it'll never tickle NodePrivisioner.

In other words, the # of executors weren't reflecting the actual # of
executors that can execute what's counted as the queue length.

See the problem report at
https://groups.google.com/forum/?fromgroups#!topic/jenkinsci-dev/bUwGEgOwv4Q

To fix this, I introduced another LoadStatistics that only counts
the # of executors that can execute free-roaming jobs, and # of
free-roaming jobs as the queue length. In this way, two pairs of numbers
are consistent.

This now allows us to use overallLoadStatistics for really the entire
system, including all executors and the total queue length. This is
primarily for administrators to see the resource utilization, and it is
not useful for NodeProvisioner input because it's mixing too many
different things.

The semantics change in OverallLoadStatistics.queueLength allows us to
deprecate its totalQueueLength field.
2012-05-23 17:34:47 -07:00
2012-05-22 12:32:33 +02:00
2011-01-30 23:44:52 -08:00
2011-09-07 09:56:30 -07:00
2011-03-21 00:23:00 -07:00
2012-05-21 18:05:07 -07:00
2011-05-28 14:07:12 +01:00
2011-01-31 18:34:17 -08:00
2011-06-13 22:26:29 -07:00
2011-09-11 16:12:09 +02:00
2012-05-21 18:05:07 -07:00
2011-06-19 23:08:11 +02:00
2012-05-22 12:32:33 +02:00

Jenkins CI

Copyright © 2004-, Kohsuke Kawaguchi, Sun Microsystems, Inc., and a number of other of contributers. Licensed under MIT License.

About

In a nutshell Jenkins CI is the leading open-source continuous integration server. Built with Java, it provides over 300 plugins to support building and testing virtually any project.

Downloads

Non-source downloads such as WAR file and several Linux packages can be found on our Mirrors.

Source

Our latest and greatest source of Jenkins CI can be found on GitHub. Fork us!

News and Website

All about Jenkins CI can be found on our website. Follow us on Twitter @jenkinsci.

Languages
Java 87.2%
HTML 6.4%
JavaScript 3.3%
SCSS 2.2%
Groovy 0.3%
Other 0.5%