[ 
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: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org

Reply via email to