[
https://issues.apache.org/jira/browse/LUCENE-2164?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Michael McCandless updated LUCENE-2164:
---------------------------------------
Attachment: LUCENE-2164.patch
Attached patch:
* Adds new CMS.setMaxMergeCount, which must be greater than
maxThreadCount, allowing CMS to pause big threads so small threads
can finish
* Uses dynamic default for CMS.maxThreadCount, to between 1 & 3
depending on number of cores; defaults maxMergeCount to that
number +2
The pausing works well the NRT stress test -- it greatly reduces how
often the NRT reopen is blocked because of too many merges running.
It's most important when there is a very big merge running -- in that
case it's better to pause & unpause that big merge when tiny merges
arrive then to force NRT to wait for the completion of the merge.
> Make CMS smarter about thread priorities
> ----------------------------------------
>
> Key: LUCENE-2164
> URL: https://issues.apache.org/jira/browse/LUCENE-2164
> Project: Lucene - Java
> Issue Type: Improvement
> Components: Index
> Reporter: Michael McCandless
> Assignee: Michael McCandless
> Priority: Minor
> Fix For: 3.1
>
> Attachments: LUCENE-2164.patch, LUCENE-2164.patch
>
>
> Spinoff from LUCENE-2161...
> The hard throttling CMS does (blocking the incoming thread that wants
> to launch a new merge) can be devastating when it strikes during NRT
> reopen.
> It can easily happen if a huge merge is off and running, but then a
> tiny merge is needed to clean up recently created segments due to
> frequent reopens.
> I think a small change to CMS, whereby it assigns a higher thread
> priority to tiny merges than big merges, should allow us to increase
> the max merge thread count again, and greatly reduce the chance that
> NRT's reopen would hit this.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]