-
Bug
-
Resolution: Fixed
-
Major
-
None
If a job is currently building and new configuration is uploaded via an HTTP POST then the current build in build history is lost.
Build information is maintained as transient state on the job object, which is reset and then reloaded from the build directory:
@Override
public void onLoad(ItemGroup<? extends Item> parent, String name) throws IOException {
super.onLoad(parent, name);
this.builds = new RunMap<R>();
this.builds.load(this,new Constructor<R>() {
public R create(File dir) throws IOException
});
However, the builds.load(...) ignores directories without a build.xml, which is the case when a build is currently building:
public synchronized void load(Job job, Constructor<R> cons) {
....
for( String build : buildDirs ) {
File d = new File(buildDir,build);
if(new File(d,"build.xml").exists()) {
// if the build result file isn't in the directory, ignore it.
try
catch (IOException e)
{ e.printStackTrace(); } catch (InstantiationError e) { e.printStackTrace(); } }
}
The job will be out of sync with the persisted build history until the job is reloaded or saved.
- duplicates
-
JENKINS-3265 Reload Configuration from Disk (or POSTing config.xml) loses info on running builds
- Resolved