Hi Dawid,

 

> 1) I assume you're running ant clean in jenkins before any tests commence; so 
> the buildup of stale files should be at most for a single run.

 

YES. The workspace is clean before starting the build (Jenkins takes care). In 
addition, we run “ant clean” (as part of “ant jenkins”). This is also why I was 
confused about the file dates in the J0 folder (see screenshot), but those seem 
to be changed by the test.

 

> you can 'terminate tests early' instead of trying to run all tests (and 
> possibly have multiple failures, each leaving a trail of poop behind.

 

What would you like to propose? I just want that the J0 folder is cleaned after 
all tests were run (to work around the issue of single tests not cleaning up 
correctly). The easiest would be some “ant clean” solely on the tests temp 
folder after running tests (optional). I think this can be done with ANT (some 
target with <target name=”nukeTestDirs” if=”tests.cleanup.after.run”/>

 

The question is: The J0 folder is removed automatically, if all tests succeed? 
Who is doing this? Maybe we can change that to also nuke the working folder if 
the tests failed (with the above property). I just don’t want to duplicate code.

 

> So if you add -Dtests.maxfailures=1 then only a single Solr test would 
> actually leave those temporary files. Would this help?

 

This would not help, as also succeeding tests leave the folders there (see 
screenshot).

 

Uwe

 

-----

Uwe Schindler

H.-H.-Meier-Allee 63, D-28213 Bremen

http://www.thetaphi.de <http://www.thetaphi.de/> 

eMail: [email protected]

 

From: [email protected] [mailto:[email protected]] On Behalf Of Dawid 
Weiss
Sent: Wednesday, March 26, 2014 10:08 AM
To: [email protected]
Subject: Re: [JENKINS] Lucene-Solr-trunk-Linux (32bit/jdk1.7.0_51) - Build # 
9828 - Failure!

 

 

The problem may be that if there are open file handles then these folders can't 
be removed by the JVM that created them until the process dies. 

 

I see a few solutions.

 

1) I assume you're running ant clean in jenkins before any tests commence; so 
the buildup of stale files should be at most for a single run.

 

2) you can 'terminate tests early' instead of trying to run all tests (and 
possibly have multiple failures, each leaving a trail of poop behind. This can 
be done by: 

 

# Repeats N times but skips any tests after the first failure or M

# initial failures.

ant test -Dtests.iters=N -Dtests.failfast=yes -Dtestcase=...

ant test -Dtests.iters=N -Dtests.maxfailures=M -Dtestcase=...

 

So if you add -Dtests.maxfailures=1 then only a single Solr test would actually 
leave those temporary files. Would this help?

 

Dawid

Reply via email to