lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler (JIRA)" <j...@apache.org>
Subject [jira] Updated: (LUCENE-504) FuzzyQuery produces a "java.lang.NegativeArraySizeException" in PriorityQueue.initialize if I use Integer.MAX_VALUE as BooleanQuery.MaxClauseCount
Date Wed, 04 Nov 2009 21:49:32 GMT

     [ https://issues.apache.org/jira/browse/LUCENE-504?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Uwe Schindler updated LUCENE-504:
---------------------------------

    Attachment: LUCENE-504.patch

Here a patch, that fixes FuzzyQuery. It uses j.u.PQ and has a small optimization to not add
ScoreTerms, that would never be seen in the first maxClauseCount terms (tracking a bottom
value).

It also adds an testcase, where the maxClauseCount is lowerd downto 2 and the FuzzyQuery would
hit 3 terms, so one too much. This tests the algorithm to not add this entry to the PQ.

Nadav: The solution you propsed for limiting the number of entries in the PQ does not work,
as poll() removes the head element of the queue, not the bottom that falls out. There is no
way to remove the bottom value in Java's PQ easily. So we should j.u.PQ only for this issue.

> FuzzyQuery produces a "java.lang.NegativeArraySizeException" in PriorityQueue.initialize
if I use Integer.MAX_VALUE as BooleanQuery.MaxClauseCount
> --------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: LUCENE-504
>                 URL: https://issues.apache.org/jira/browse/LUCENE-504
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Search
>    Affects Versions: 1.9
>            Reporter: Joerg Henss
>            Priority: Minor
>         Attachments: BooleanQuery.java.diff, fuzzyquery.patch, LUCENE-504.patch, LUCENE-504.patch,
PriorityQueue.java.diff, TestFuzzyQueryError.java
>
>
> PriorityQueue creates an "java.lang.NegativeArraySizeException" when initialized with
Integer.MAX_VALUE, because Integer overflows. I think this could be a general problem with
PriorityQueue. The Error occured when I set BooleanQuery.MaxClauseCount to Integer.MAX_VALUE
and user a FuzzyQuery for searching.

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


Mime
View raw message