You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2016/03/18 21:32:33 UTC

[jira] [Commented] (GEODE-249) PR Query retry with rebalanced bucket on local node can cause missing results

    [ https://issues.apache.org/jira/browse/GEODE-249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15202093#comment-15202093 ] 

ASF subversion and git services commented on GEODE-249:
-------------------------------------------------------

Commit aab357f6925f88324987e2246879faeb33ea7962 in incubator-geode's branch refs/heads/develop from [~huynhja]
[ https://git-wip-us.apache.org/repos/asf?p=incubator-geode.git;h=aab357f ]

GEODE-249: Retry on local node does not overwrite previously retrieved results

If a query on a remote node fails and buckets are determined to have moved to
the local node, a retry of the query is executed on the local node.  However
the code currently will overwrite any results the local node had already
correctly retrieved.

Added new junit test for PartitionedRegionQueryEvaluator and renamed existing
test to PartitionedRegionQueryEvaluatorIntegrationTest


> PR Query retry with rebalanced bucket on local node can cause missing results
> -----------------------------------------------------------------------------
>
>                 Key: GEODE-249
>                 URL: https://issues.apache.org/jira/browse/GEODE-249
>             Project: Geode
>          Issue Type: Bug
>          Components: querying
>            Reporter: Jason Huynh
>            Assignee: Jason Huynh
>
> If a PR Query fails on a remote node, the buckets that failed will need to be retried.  It recalculates the buckets needed to be retried and which servers it needs to retry on.  If a bucket happens to be rebalanced locally, the results from the retry on the local node will squash the results previously gathered for the local node.
> The code in question is in PartitionedRegionQueryEvaluator.executeQueryOnLocalNode():
> ...
> this.resultsPerMember.put(me, resultCollector);
> The solution would be similar to:
> MemberResultsList otherResults = (MemberResultsList) this.resultsPerMember.put(me, resultCollector);
> resultsCollector.addAll(otherResults);
> A test needs to be written and added



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)