lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dawid Weiss <>
Subject Re: test buffering causes OOM errors
Date Sun, 22 Jul 2012 06:51:33 GMT
> +1, I also miss simple streamed output option when running a test.
> And it's fine if it only works if you run one test, one JVM, etc.

There is an issue for 1-jvm streaming on github. Like I said -- it is
possible to decrease memory consumption (stdout buffering)  although
there will always be limitations (like if you run
-Dtests.iters=10000000 this results in 10000000 physical instances of
a Description object that need to be at once in memory; JUnit
architecture -- nothing I can do about it).

I will get back to this when I come back from vacation. In the
meantime I think I provided enough workarounds so that you can
continue working? I mean Solr mostly uses java logging and redirecting
this to a file is trivial. Mike -- you can do the same thing if you
need tons of logs. There is also an option of doing:


or whatever amount of memory you have -- this is crappy in the sense
that you'll see the output only after the test finishes but it also
should work in the mean time until I do that refactoring.

I admit harnessing threading was my priority and I am pretty happy
with the result although time will tell how useful it really is in
practice (in the sense of providing sensible output for debugging).
There are nuances and blockers from doing this right that are mind
boggling. These stem both from JUnit architecture (which is really
nice but was thought for simpler test cases I think) and from JVM
internals (like a livelock in J9 when you're trying to get a stack
trace from certain threads).


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

View raw message