Affects Version/s: None
Fix Version/s: 1.6.1
The Calculated Custom Fields use a pool of BeanShell interpreters in order to avoid recreating them on every invocation. Unfortunately, this pool is currently hardcoded for a maximum of 24 interpreters. It should instead be configurable, for use on systems with lots of cores and/or recursive calculated field formulas.
Parameters should be passed as Java System Properties, using -D<property-name>=<value> entries in the JVM_SUPPORT_RECOMMENDED_ARGS variable of setenv.bat/.sh. Available parameters:
|jmcf.maxActive||Maximum number of active Interpreters at a given time. Default value: 48|
|jmcf.maxIdle||Maximum number of idle Interpreters. Default value: jmcf.maxActive|
|jmcf.maxWait||Number of milliseconds to wait for an Interpreter to become available. Default value: 20,000 (20 seconds)|
This is mostly useful if you run into a deadlock during re-indexing, where all threads are locked in a similar manner: