Hi, I'm trying to fix this issue that I submitted recently: 
https://issues.jenkins-ci.org/browse/JENKINS-23607

Calling the getBuild() method on JobInvocation instances is blocking when 
the corresponding build is still queued (see snippet from 
JobInvocation.groovy below). This means that the BuildGraph can't be 
created for the BuildFlow when tasks are still queued.

Is there a way to look up the Queued task instead future.isDone() is used 
to determine that the build hasn't started? Would there be a Run instance 
associated with the Queued Task at that point, or is the Run only created 
when the task has actually started?


// JobInvocation.groovy(line: 210)
public Run getBuild() throws ExecutionException, InterruptedException {
    if (build == null) {
        if (future != null) {
            // waiting for build to get scheduled
            build = future.get(); // blocks when the corresponding task is 
queued
            buildNumber = build.getNumber();
        } else if (buildNumber > 0) {
            // loaded from persistent store
            build = getProject().getBuildByNumber(buildNumber);
        }
    }
    return build;
}


Thanks,
Stuart

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" 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