openmicroscopy/openmicroscopy — pull request #2140 by jballanc (2014-03-03 17:32:25+00:00)
Title: Disable concurrent Quartz scheduling of indexer (rebased onto develop)

This is the same as gh-2049 but rebased onto develop.

----

When Quartz schedules indexer threads concurrently and one or more
experiences an OOM error, this can lead to a deadlock on the indexer.
Disabling concurrency should fix this issue.

To test, import at least one image and then attach 1000 text attachments
of ~20 KB each. (These can be generated with a quick script like: `for i
in {1..1000}; do printf 'This is only a test... %.0s' {1..1000} >
test_$i.txt; done` inside of a directory.) If the first import of 1000
doesn't cause OOM, repeat them import. Watch the Indexer log files for
OOM. When it occurs, the Indexer should discard the OOM thread but
continue processing.