In digging on the hard-to-understand OOMEs with
TestDirectPostingsFormat ... I found (thank you YourKit) that
RandomizedContext (in randomizedtesting JAR) seems to be holding onto
all threads created by the test. The test does create many very short
lived threads (testing the thread safety of the postings format), in
BasePostingsFormatTestCase.testTerms), and somehow these seem to tie
up a lot (~100 MB) of RAM in RandomizedContext.contexts static map.
For now I've disabled all thread testing (committed false && inside
BPFTC.testTerms), but hopefully we can fix the root cause here, eg
when a thread exits can we clear it from that map?