List Info

Thread: Created: (LUCENE-700) endless loop when querying using BooleanQuery.




Created: (LUCENE-700) endless loop when querying using BooleanQuery.
user name
2006-10-26 06:45:16
endless loop when querying using BooleanQuery.
----------------------------------------------

                 Key: LUCENE-700
                 URL: http:
//issues.apache.org/jira/browse/LUCENE-700
             Project: Lucene - Java
          Issue Type: Bug
          Components: Search
            Reporter: kaineci


the extreme case is: when querying term1, term2, term3 and
current docid of inverted lists of term1, term2, term3 are
0, i (larger than 0), BucketTable.SIZE, what could happen in
search???However this case should occur with low
possibility.

                                         BucketTable table =
new BucketTable();
		Random random = new Random();
		int tmpValue = random.nextInt(Integer.MAX_VALUE);
		table.newCollector().collect(0, 0);
		table.newCollector().collect(tmpValue, tmpValue);
		table.newCollector().collect(2048, 2048);
		Bucket bucket = table.first;
		while(bucket != null)
		{
			bucket = bucket.next;
			num++;
		}

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the
administrators: http://issues.apache.org/jira/secure/Administrators.jspa

-
For more information on JIRA, see: http://www.atl
assian.com/software/jira

        

------------------------------------------------------------
---------
To unsubscribe, e-mail: java-dev-unsubscribelucene.apache.org
For additional commands, e-mail: java-dev-helplucene.apache.org

Commented: (LUCENE-700) endless loop when querying using BooleanQuery.
user name
2006-10-26 06:50:18
    [ http://issues.apache.org/jira/brows
e/LUCENE-700?page=comments#action_12444811 ] 
            
kaineci commented on LUCENE-700:
--------------------------------

loop may be rewriten :while((bucket!=null) &&
(fisrst || (bucket != firstElem))) where firstElem stores
the first elements of buckettable.

> endless loop when querying using BooleanQuery.
> ----------------------------------------------
>
>                 Key: LUCENE-700
>                 URL: http:
//issues.apache.org/jira/browse/LUCENE-700
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Search
>            Reporter: kaineci
>
> the extreme case is: when querying term1, term2, term3
and current docid of inverted lists of term1, term2, term3
are 0, i (larger than 0), BucketTable.SIZE, what could
happen in search???However this case should occur with low
possibility.
>                                          BucketTable
table = new BucketTable();
> 		Random random = new Random();
> 		int tmpValue = random.nextInt(Integer.MAX_VALUE);
> 		table.newCollector().collect(0, 0);
> 		table.newCollector().collect(tmpValue, tmpValue);
> 		table.newCollector().collect(2048, 2048);
> 		Bucket bucket = table.first;
> 		while(bucket != null)
> 		{
> 			bucket = bucket.next;
> 			num++;
> 		}

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the
administrators: http://issues.apache.org/jira/secure/Administrators.jspa

-
For more information on JIRA, see: http://www.atl
assian.com/software/jira

        

------------------------------------------------------------
---------
To unsubscribe, e-mail: java-dev-unsubscribelucene.apache.org
For additional commands, e-mail: java-dev-helplucene.apache.org

Commented: (LUCENE-700) endless loop when querying using BooleanQuery.
user name
2006-10-26 08:18:18
    [ http://issues.apache.org/jira/brows
e/LUCENE-700?page=comments#action_12444830 ] 
            
kaineci commented on LUCENE-700:
--------------------------------

i see.
.....
more = false;
      end += BucketTable.SIZE;//corresponding one term
      for (SubScorer sub = scorers; sub != null; sub =
sub.next) {
        Scorer scorer = sub.scorer;
        while (!sub.done && scorer.doc() < end) {
....

the code above can limite the range of docid in fetching
inverted list once.


> endless loop when querying using BooleanQuery.
> ----------------------------------------------
>
>                 Key: LUCENE-700
>                 URL: http:
//issues.apache.org/jira/browse/LUCENE-700
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Search
>            Reporter: kaineci
>
> the extreme case is: when querying term1, term2, term3
and current docid of inverted lists of term1, term2, term3
are 0, i (larger than 0), BucketTable.SIZE, what could
happen in search???However this case should occur with low
possibility.
>                                          BucketTable
table = new BucketTable();
> 		Random random = new Random();
> 		int tmpValue = random.nextInt(Integer.MAX_VALUE);
> 		table.newCollector().collect(0, 0);
> 		table.newCollector().collect(tmpValue, tmpValue);
> 		table.newCollector().collect(2048, 2048);
> 		Bucket bucket = table.first;
> 		while(bucket != null)
> 		{
> 			bucket = bucket.next;
> 			num++;
> 		}

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the
administrators: http://issues.apache.org/jira/secure/Administrators.jspa

-
For more information on JIRA, see: http://www.atl
assian.com/software/jira

        

------------------------------------------------------------
---------
To unsubscribe, e-mail: java-dev-unsubscribelucene.apache.org
For additional commands, e-mail: java-dev-helplucene.apache.org

Commented: (LUCENE-700) endless loop when querying using BooleanQuery.
user name
2006-10-26 16:50:19
    [ http://issues.apache.org/jira/brows
e/LUCENE-700?page=comments#action_12444921 ] 
            
Otis Gospodnetic commented on LUCENE-700:
-----------------------------------------

Is that while loop in your initial comment endless?
Can you write a little class/unit test that shows this?
I can't quite tell what's going on from your comments, but
Paul or one of the other Scorer experts might.


> endless loop when querying using BooleanQuery.
> ----------------------------------------------
>
>                 Key: LUCENE-700
>                 URL: http:
//issues.apache.org/jira/browse/LUCENE-700
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Search
>            Reporter: kaineci
>
> the extreme case is: when querying term1, term2, term3
and current docid of inverted lists of term1, term2, term3
are 0, i (larger than 0), BucketTable.SIZE, what could
happen in search???However this case should occur with low
possibility.
>                                          BucketTable
table = new BucketTable();
> 		Random random = new Random();
> 		int tmpValue = random.nextInt(Integer.MAX_VALUE);
> 		table.newCollector().collect(0, 0);
> 		table.newCollector().collect(tmpValue, tmpValue);
> 		table.newCollector().collect(2048, 2048);
> 		Bucket bucket = table.first;
> 		while(bucket != null)
> 		{
> 			bucket = bucket.next;
> 			num++;
> 		}

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the
administrators: http://issues.apache.org/jira/secure/Administrators.jspa

-
For more information on JIRA, see: http://www.atl
assian.com/software/jira

        

------------------------------------------------------------
---------
To unsubscribe, e-mail: java-dev-unsubscribelucene.apache.org
For additional commands, e-mail: java-dev-helplucene.apache.org

Commented: (LUCENE-700) endless loop when querying using BooleanQuery.
user name
2006-10-26 19:26:45
    [ http://issues.apache.org/jira/brows
e/LUCENE-700?page=comments#action_12444949 ] 
            
Paul Elschot commented on LUCENE-700:
-------------------------------------

It looks like the initially posted code is from
BooleanScorer, but nowadays normally BooleanScorer2 is used.
Would it be possible to have a test case showing the
problem?


> endless loop when querying using BooleanQuery.
> ----------------------------------------------
>
>                 Key: LUCENE-700
>                 URL: http:
//issues.apache.org/jira/browse/LUCENE-700
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Search
>            Reporter: kaineci
>
> the extreme case is: when querying term1, term2, term3
and current docid of inverted lists of term1, term2, term3
are 0, i (larger than 0), BucketTable.SIZE, what could
happen in search???However this case should occur with low
possibility.
>                                          BucketTable
table = new BucketTable();
> 		Random random = new Random();
> 		int tmpValue = random.nextInt(Integer.MAX_VALUE);
> 		table.newCollector().collect(0, 0);
> 		table.newCollector().collect(tmpValue, tmpValue);
> 		table.newCollector().collect(2048, 2048);
> 		Bucket bucket = table.first;
> 		while(bucket != null)
> 		{
> 			bucket = bucket.next;
> 			num++;
> 		}

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the
administrators: http://issues.apache.org/jira/secure/Administrators.jspa

-
For more information on JIRA, see: http://www.atl
assian.com/software/jira

        

------------------------------------------------------------
---------
To unsubscribe, e-mail: java-dev-unsubscribelucene.apache.org
For additional commands, e-mail: java-dev-helplucene.apache.org

Resolved: (LUCENE-700) endless loop when querying using BooleanQuery.
user name
2006-10-26 20:55:17
     [ http://issues.apache.org/jira/browse/LUCENE-700?page=all
 ]

Yonik Seeley resolved LUCENE-700.
---------------------------------

    Lucene Fields:   (was: [New])
       Resolution: Cannot Reproduce

I don't see a problem with that code (and it's not used by
default anyway).
If you have a testcase that can demonstrate a problem,
please provide it and re-open.

> endless loop when querying using BooleanQuery.
> ----------------------------------------------
>
>                 Key: LUCENE-700
>                 URL: http:
//issues.apache.org/jira/browse/LUCENE-700
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Search
>            Reporter: kaineci
>
> the extreme case is: when querying term1, term2, term3
and current docid of inverted lists of term1, term2, term3
are 0, i (larger than 0), BucketTable.SIZE, what could
happen in search???However this case should occur with low
possibility.
>                                          BucketTable
table = new BucketTable();
> 		Random random = new Random();
> 		int tmpValue = random.nextInt(Integer.MAX_VALUE);
> 		table.newCollector().collect(0, 0);
> 		table.newCollector().collect(tmpValue, tmpValue);
> 		table.newCollector().collect(2048, 2048);
> 		Bucket bucket = table.first;
> 		while(bucket != null)
> 		{
> 			bucket = bucket.next;
> 			num++;
> 		}

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the
administrators: http://issues.apache.org/jira/secure/Administrators.jspa

-
For more information on JIRA, see: http://www.atl
assian.com/software/jira

        

------------------------------------------------------------
---------
To unsubscribe, e-mail: java-dev-unsubscribelucene.apache.org
For additional commands, e-mail: java-dev-helplucene.apache.org

[1-6]

about | contact  Other archives ( Real Estate discussion Medical topics )