lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dawid Weiss <>
Subject Re: hudson hung
Date Wed, 02 May 2012 09:05:14 GMT
> Hmm, as a test, I tried adding @Timeout(millis=100000) to
> LuceneTestCase, ie 100 seconds, which I think should not trigger on
> any core tests today.
> That should then apply to all subclasses of LuceneTestCase right?  Ie
> all tests will be aborted after 100 seconds...

Yes, it should abort each test after 100 seconds (or not if it
completes earlier).

> But, something is wrong: I get lots of quick (ie much less than 100
> seconds) failures like this:
>   [junit4] Suite: org.apache.lucene.util.TestRamUsageEstimatorOnWildAnimals
>   [junit4] ERROR   0.00s J2 | TestRamUsageEstimatorOnWildAnimals (suite)
>   [junit4]    > Throwable #1: java.lang.RuntimeException: Interrupted
> while waiting for worker? Weird.

I'm not sure what's wrong and I'm not able to tell you right now
(vacation...). I will look into this once I come back.

The problem of "stopping" a running test is not trivial because there
are no easy ways of telling which threads have been started from a
test, which threads should outlive the test (as in a threadpool
initialized from @BeforeClass but used from within a test -- the pool
threads should outlive it)... finally there are cases when a thread
just won't make it possible to be killed by an external threads (see
test cases in randomizedtesting -- look for zombie tests if you're

There are many sneaky scenarios. The timeout on jenkins is also not
trivial I think. Uwe was reporting that stopping a build on jenkins
leaves forked jvms running in the background. I looked into jenkins
source code to see how they're killing those running processes... it's
really hairy -- os-dependent and doing scans of /proc... brr...
Apparently also not an easy thing to do.

I'll upgrade junit4 and randomizedtesting to version 1.4.0 which
should fix a few problems related to event passing but I'll have to
postpone timeouts until I'm back at work full time.


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message