[
https://issues.jboss.org/browse/ISPN-1980?page=com.atlassian.jira.plugin....
]
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