The number of deletion attempts and the time it waits between deletes are configurable via system properties (like hudson.Util.noSymlink etc).
Util.DELETION_MAX is set by -Dhudson.Util.deletionMax. Default is 3 attempts.
Util.WAIT_BETWEEN_DELETION_RETRIES is set by -Dhudson.Util.deletionRetryWait. Defaults is 100 milliseconds.
Util.GC_AFTER_FAILED_DELETE is set by -Dhudson.Util.performGCOnFailedDelete. Default is false.
Added unit-tests for new functionality.
In addition to cluttering the namespace, unused imports generate
compiler warnings, introducing noise and obscuring more important
compiler warnings. This change removes them.
* master: (256 commits)
Noting #1817
Noting #1825
updated changelog for release
[maven-release-plugin] prepare for next development iteration
[maven-release-plugin] prepare release jenkins-1.629
[JENKINS-30139] Oleg wants to keep the data accessible so we have to go for immutable
[JENKINS-30139] Forgot to change this one
[JENKINS-30139] Add @Restricted to prevent external use of internal data
[JENKINS-30139] Switch from a big fat lock to a concurrent collection
[JENKINS-30374] Update obsolete help message
updated changelog for release
[maven-release-plugin] prepare for next development iteration
[maven-release-plugin] prepare release jenkins-1.628
noting merge of PR#1816 - use slf4j interceptors
Manage commons-logging and log4j as provided, include slf4j adapters for tests.
Exclude commons-logging and log4j in dangerous scopes compile and runtime in plugins as well.
Only exclude commons-logging and log4j in dangerous scopes compile and runtime.
Reintroduce enforcer rules as suggested by @jtnord.
Document allBuilds for Job remote access API
Include slf4j-jdk14 during tests.
...
Conflicts:
war/src/main/webapp/scripts/hudson-behavior.js
Properly revert job history for matrix and maven jobs (depending on
setup).
Examples paths include:
jobs/someproject/Environment=prod/builds
jobs/someproject/test$test/builds
I understand the motivation for this but I think it creates a bit of a maint/comprehension issue in that splits related classes across 2 different package hierarchies. I know we'll say that's ok but I don't like it. Just say'n.
Not sure why I ever had it in Queue.MockItem. I must have wrongly though it was private/protected in some way that did not allow it to live anywhere else.
The contract for JnlpAgentReceiver in case of error on a claimed node is
to call handshake.error() but still return true so other handlers don't
take another crack a it.
Also added unit tests DefaultJnlpSlaveReceiver.
(cherry picked from commit 2d452b6eb3)