Navigation Menu

Skip to content

Commit

Permalink
[JENKINS-22681] Additional logging useful for diagnosing certain lazy…
Browse files Browse the repository at this point in the history
…-loading bugs.
  • Loading branch information
jglick committed Apr 18, 2014
1 parent e12e40a commit b55c157
Showing 1 changed file with 12 additions and 3 deletions.
15 changes: 12 additions & 3 deletions core/src/main/java/hudson/model/Run.java
Expand Up @@ -282,6 +282,7 @@ protected SimpleDateFormat initialValue() {
protected Run(JobT job) throws IOException {
this(job, new GregorianCalendar());
this.number = project.assignBuildNumber();
LOGGER.log(FINE, "new {0} @{1}", new Object[] {this, hashCode()});
}

/**
Expand Down Expand Up @@ -315,9 +316,16 @@ protected Run(JobT project, File buildDir) throws IOException {
*/
public void reload() throws IOException {
this.state = State.COMPLETED;
// TODO ABORTED would perhaps make more sense than FAILURE:
this.result = Result.FAILURE; // defensive measure. value should be overwritten by unmarshal, but just in case the saved data is inconsistent
getDataFile().unmarshal(this); // load the rest of the data

if (state == State.COMPLETED) {
LOGGER.log(FINE, "reload {0} @{1}", new Object[] {this, hashCode()});
} else {
LOGGER.log(WARNING, "reload {0} @{1} with anomalous state {2}", new Object[] {this, hashCode(), state});
}

// not calling onLoad upon reload. partly because we don't want to call that from Run constructor,
// and partly because some existing use of onLoad isn't assuming that it can be invoked multiple times.
}
Expand Down Expand Up @@ -1739,6 +1747,7 @@ protected final void execute(RunExecution job) {
// will now see this build as completed.
// things like triggering other builds requires this as pre-condition.
// see issue #980.
LOGGER.log(FINE, "moving into POST_PRODUCTION on {0}", this);
state = State.POST_PRODUCTION;

if (listener != null) {
Expand Down Expand Up @@ -1834,6 +1843,7 @@ private void handleFatalBuildProblem(BuildListener listener, Throwable e) {
* Called when a job started building.
*/
protected void onStartBuilding() {
LOGGER.log(FINE, "moving to BUILDING on {0}", this);
state = State.BUILDING;
startTime = System.currentTimeMillis();
if (runner!=null)
Expand All @@ -1845,14 +1855,13 @@ protected void onStartBuilding() {
*/
protected void onEndBuilding() {
// signal that we've finished building.
state = State.COMPLETED;
LOGGER.log(FINE, "moving to COMPLETED on {0}", this);
if (runner!=null) {
// MavenBuilds may be created without their corresponding runners.
state = State.COMPLETED;
runner.checkpoints.allDone();
runner = null;
RunnerStack.INSTANCE.pop();
} else {
state = State.COMPLETED;
}
if (result == null) {
result = Result.FAILURE;
Expand Down

0 comments on commit b55c157

Please sign in to comment.