[
https://issues.apache.org/jira/browse/LUCENE-3054?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13028125#comment-13028125
]
Michael McCandless commented on LUCENE-3054:
--------------------------------------------
Patch looks good! I like the 2*log_2(N) dynamic cutover; this means we can
tolerate somewhat lopsided QS recursion and remain using QS.
> SorterTemplate.quickSort stack overflows on broken comparators that produce
> only few disticnt values in large arrays
> --------------------------------------------------------------------------------------------------------------------
>
> Key: LUCENE-3054
> URL: https://issues.apache.org/jira/browse/LUCENE-3054
> Project: Lucene - Java
> Issue Type: Task
> Affects Versions: 3.1
> Reporter: Robert Muir
> Assignee: Uwe Schindler
> Priority: Critical
> Fix For: 3.1.1, 3.2, 4.0
>
> Attachments: LUCENE-3054-dynamic.patch,
> LUCENE-3054-stackoverflow.patch, LUCENE-3054.patch, LUCENE-3054.patch,
> LUCENE-3054.patch, LUCENE-3054.patch, LUCENE-3054.patch, LUCENE-3054.patch
>
>
> Looking at Otis's sort problem on the mailing list, he said:
> {noformat}
> * looked for other places where this call is made - found it in
> MultiPhraseQuery$MultiPhraseWeight and changed that call from
> ArrayUtil.quickSort to ArrayUtil.mergeSort
> * now we no longer see SorterTemplate.quickSort in deep recursion when we do a
> thread dump
> {noformat}
> I thought this was interesting because PostingsAndFreq's comparator
> looks like it needs a tiebreaker.
> I think in our sorts we should add some asserts to try to catch some of these
> broken comparators.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]