[ https://issues.apache.org/jira/browse/LUCENE-10576?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17538321#comment-17538321 ]
Chris M. Hostetter commented on LUCENE-10576: --------------------------------------------- Should those "reasonable items" be added as comments to the code so they aren't lost to time? > ConcurrentMergeScheduler maxThreadCount calculation is artificially low > ----------------------------------------------------------------------- > > Key: LUCENE-10576 > URL: https://issues.apache.org/jira/browse/LUCENE-10576 > Project: Lucene - Core > Issue Type: Bug > Reporter: Kevin Risden > Assignee: Kevin Risden > Priority: Minor > Time Spent: 1h 40m > Remaining Estimate: 0h > > [https://github.com/apache/lucene/blob/main/lucene/core/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java#L177] > {code:java} > maxThreadCount = Math.max(1, Math.min(4, coreCount / 2)); > {code} > This has a practical limit of max of 4 threads due to the Math.min. This > doesn't take into account higher coreCount. > I can't seem to tell if this is by design or this is just a mix up of logic > during the calculation. > If I understand it looks like 1 and 4 are mixed up and should instead be: > {code:java} > maxThreadCount = Math.max(4, Math.min(1, coreCount / 2)); > {code} > which then simplifies to > {code:java} > maxThreadCount = Math.max(4, coreCount / 2); > {code} > So that you have a minimum of 4 maxThreadCount and max of coreCount/2. > ---- > Based on the history I could find, this has been this way forever. > * LUCENE-6437 > * LUCENE-6119 > * LUCENE-5951 > ** Introduced as "maxThreadCount = Math.max(1, Math.min(3, > Runtime.getRuntime().availableProcessors()/2));" > ** > https://github.com/apache/lucene/commit/33410e30c1af7105a6b8b922255af047d13be626#diff-ceb8ec6fe5807682cfb691a8ec52bcc672fb7c5eeb6922c80da4c075f7f003c8R147 -- This message was sent by Atlassian Jira (v8.20.7#820007) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org