Distributed builds not always building with dependency changes
--------------------------------------------------------------
Key: CONTINUUM-2546
URL: http://jira.codehaus.org/browse/CONTINUUM-2546
Project: Continuum
Issue Type: Bug
Components: Distributed Builds
Affects Versions: 1.4.0 (Beta)
Environment: CentOS release 5.5 (Final)
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) Server VM (build 16.3-b01, mixed mode)
Reporter: Stephen Coy
We were having problems with our distributed builds not always building when
dependencies changed. I traced the issue into:
{code}
org.apache.continuum.builder.distributed.DefaultDistributedBuildService.shouldBuild(Map<String,
Object>)
{code}
which contains this code fragment:
{code}
Date date = ContinuumBuildConstant.getLatestUpdateDate( context );
if ( date != null && oldBuildResult.getLastChangedDate() >= date.getTime() )
{
log.info( "No changes found, not building (projectId=" + projectId + ")" );
return false;
}
else if ( date != null && changes.isEmpty() )
{
// fresh checkout from build agent that's why changes is empty
log.info( "Changes found in the current project, building (projectId=" +
projectId + ")" );
return true;
}
{code}
We seem to be getting caught out by the first test. (There's only one agent
building this project btw). I think "oldBuildResult" may be the BuildResult for
the current build
I tried commenting out the first piece of logic. This resulted in everything
building at every scheduled run because the second test always passes for an
existing project with no changes in it.
For now I've commented out ALL of the code above and things seem to be behaving
the way I expect.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira