On 2/17/2015 7:47 AM, Shawn Heisey wrote: > The first message simply indicates that you have reached more > simultaneous merges than CMS is configured to allow (3 by default), so > it will stall all of them except one. The javadocs say that the one > allowed to run will be the smallest, but I have observed the opposite -- > the one that is allowed to run is always the largest.
I have stated some things incorrectly here. The gist of what I wrote is correct, but the details are not. These details are important, especially for those who read this in the archives later. As long as you are below maxMergeCount (default 3) for the number of merges that have been scheduled, the system will simultaneously run up to maxThreads (default 1) merges from that list, and it will ALSO allow the incoming thread (indexing new data) to run. Once you reach maxMergeCount, the incoming thread is stalled until you are back below maxMergeCount, and up to maxThreads merges will be running while the incoming thread is stalled. Thanks, Shawn