[infinispan-issues] [JBoss JIRA] (ISPN-1980) Distributed Queries problem when results size could be greater than HsQuery.maxResults

Israel Lacerra (JIRA) jira-events at lists.jboss.org
Mon Apr 23 13:51:19 EDT 2012


    [ https://issues.jboss.org/browse/ISPN-1980?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12686771#comment-12686771 ] 

Israel Lacerra commented on ISPN-1980:
--------------------------------------

I've just made a push request. Some thoughs:

- The firstResult value passed to the nodes, will always be 0. So, the firstResult value setted by the user, will be used only in the merging results state. I don't see a better way to do this, because it's difficult to say who is and where is the firstResult without comparing all score docs until we find firstResult.

- The maxResults value setted by the user, will be broadcasted to all nodes. So every node will do a query returning maxResults to the "requester node". The requester node will merge the results from the n nodes (total:n*maxResults results). But only the first maxResults results will be fetched.
                
> Distributed Queries problem when results size could be greater than HsQuery.maxResults
> --------------------------------------------------------------------------------------
>
>                 Key: ISPN-1980
>                 URL: https://issues.jboss.org/browse/ISPN-1980
>             Project: Infinispan
>          Issue Type: Bug
>          Components: Querying
>    Affects Versions: 5.1.4.CR1
>            Reporter: Israel Lacerra
>            Assignee: Sanne Grinovero
>             Fix For: 5.2.0.FINAL
>
>
> When a distributed query could get more results than HSQuery.maxResults, an exception is thrown:
> Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 200, Size: 200
> 	at java.util.ArrayList.rangeCheck(ArrayList.java:571)
> 	at java.util.ArrayList.get(ArrayList.java:349)
> 	at org.infinispan.query.clustered.DistributedIterator.current(DistributedIterator.java:140)
> 	at org.infinispan.query.clustered.DistributedIterator.next(DistributedIterator.java:116)
> The correct behaviour is to limit the results up to HsQuery.maxResults

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the infinispan-issues mailing list