lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dawid Weiss (JIRA)" <>
Subject [jira] [Commented] (LUCENE-3429) improve build system when tests hang
Date Wed, 14 Sep 2011 09:41:08 GMT


Dawid Weiss commented on LUCENE-3429:

Mike, Robert, Mark -- can you confirm my understanding of this snippet:
if (doFail && (Thread.currentThread().getName().equals("main") 
          || Thread.currentThread().getName().equals("Main Thread"))) {
what was it for (thread name checking)? Can this method be called from threads other than
the main junit thread (and in such case shouldn't go into the if block?).

> improve build system when tests hang
> ------------------------------------
>                 Key: LUCENE-3429
>                 URL:
>             Project: Lucene - Java
>          Issue Type: Test
>            Reporter: Robert Muir
>             Fix For: 3.5, 4.0
>         Attachments: LUCENE-3429.patch, LUCENE-3429.patch
> Currently, if tests hang in hudson it can go hung for days until we manually kill it.
> The problem is that when a hang happens its probably serious, what we want to do (I think),
> # time out the build.
> # ensure we have enough debugging information to hopefully fix any hang.
> So I think the ideal solution would be:
> # add a sysprop "-D" that LuceneTestCase respects, it could default to no timeout at
all (some value like zero).
> # when a timeout is set, LuceneTestCase spawns an additional timer thread for the test
class? method?
> # if the timeout is exceeded, LuceneTestCase dumps all thread/stack information, random
seed information to hopefully reproduce the hang, and fails the test.
> # nightly builds would pass some reasonable -D for each test.
> separately, I think we should have an "ant-level" timeout for the whole build, in case
it goes completely crazy (e.g. jvm completely hangs or something else), just as an additional

This message is automatically generated by JIRA.
For more information on JIRA, see:


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

View raw message