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

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

Commit 7b9a3832b7e0e28c85f7157f98cf7b90085fe843 in incubator-geode's branch 
refs/heads/feature/GEODE-1985 from [~upthewaterspout]
[ https://git-wip-us.apache.org/repos/asf?p=incubator-geode.git;h=7b9a383 ]

GEODE-1985: Check for index expression reevalaution using a time window

Changing the logic for how to we check to see if an entry may have been
concurrently modified while an indexed query is in progress.

The new logic just has a time window, defaulting to 10 minutes. If the
entry was changed less than 10 minutes for the query started, we will
reevaluate the index expression to make sure the entry is still valid.


> IndexManager.needsRecalculation can miss cases where recalulation is needed
> ---------------------------------------------------------------------------
>
>                 Key: GEODE-1985
>                 URL: https://issues.apache.org/jira/browse/GEODE-1985
>             Project: Geode
>          Issue Type: Bug
>          Components: querying
>            Reporter: Dan Smith
>
> When returning query results from an index, we check 
> IndexManager.needsRecalculation to see if an entry might have changed while 
> the query was in progress. 
> Unfortunately, this method can return false negatives If an entry has not yet 
> updated the SAFE_QUERY_TIME field.
> The SAFE_QUERY_TIME is updated in LocalRegion.updateStatsForPut. That method 
> is called *after* the region entry was modified. So the SAFE_QUERY_TIME could 
> be 0, even though an entry was modified, which will make this expression 
> false.



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

Reply via email to