[ https://issues.apache.org/jira/browse/LUCENE-3054?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13027774#comment-13027774 ]
Uwe Schindler commented on LUCENE-3054: --------------------------------------- Dawid: There are two problems we have seen with native sort: - it copies the array/collection always first, this caused slowdown for lots of places especiall in automaton - so it never sorts in plcace - we sometimes need to sort multiple arrays in parallel, one as sort "key" -> especially in TermsHash/BytesRefHash. This is where SorterTemplate comes into the game: it supports separate swap(i,j) and compare(i,j) operations. Uwe > 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-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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org