This is a good fix for the Lucene case. We should still log a bug for AEQ because this isn't so good for other uses of it who need to actually see each event.
-- Mike Stolz Principal Engineer, GemFire Product Manager Mobile: +1-631-835-4771 On Thu, Mar 16, 2017 at 1:21 PM, ASF GitHub Bot (JIRA) <j...@apache.org> wrote: > > [ https://issues.apache.org/jira/browse/GEODE-2674?page= > com.atlassian.jira.plugin.system.issuetabpanels:comment- > tabpanel&focusedCommentId=15928462#comment-15928462 ] > > ASF GitHub Bot commented on GEODE-2674: > --------------------------------------- > > GitHub user upthewaterspout opened a pull request: > > https://github.com/apache/geode/pull/427 > > GEODE-2674: Changing the lucene listener to get from the region > > Rather than use the value that is in the queue, use the latest value > from the region to update the lucene index. > > This ensures that even if the queue contains spurious events due to > retries or other issues, we put the correct value in the index. > > This also potentially saves memory and disk space for the queue, > because > the queue does not need to hold the value for the entry. > > @boglesby @gesterzhou @jhuynh1 @ladyVader @nabarunnag > > You can merge this pull request into a Git repository by running: > > $ git pull https://github.com/upthewaterspout/incubator-geode > feature/GEODE-2674 > > Alternatively you can review and apply these changes as the patch at: > > https://github.com/apache/geode/pull/427.patch > > To close this pull request, make a commit to your master/trunk branch > with (at least) the following in the commit message: > > This closes #427 > > ---- > commit 9f9439ab0ec6c2a0221e78aa5825e9a0759bac80 > Author: Dan Smith <upthewatersp...@apache.org> > Date: 2017-03-15T20:23:20Z > > GEODE-2674: Changing the lucene listener to fetch the value from the > region > > Rather than use the value that is in the queue, use the latest value > from the region to update the lucene index. > > This ensures that even if the queue contains spurious events due to > retries or other issues, we put the correct value in the index. > > This also potentially saves memory and disk space for the queue, > because > the queue does not need to hold the value for the entry. > > ---- > > > > Lucene index is out of sync with data region due to retried event > > ----------------------------------------------------------------- > > > > Key: GEODE-2674 > > URL: https://issues.apache.org/jira/browse/GEODE-2674 > > Project: Geode > > Issue Type: Bug > > Reporter: Dan Smith > > Assignee: Dan Smith > > > > We're seeing issues where the data in the lucene index does not match > the data in a region. Here's what I see happening > > # An accessor starts doing a put > > # The put goes to the current primary > > # Primary distributes the put to the secondary > > # Primary closes it's cache > > # New primary does a destroy on the same entry > > # The accessor retries the put because the old primary closed the cache > > # The retried put is added to the queue, after the destroy. But it is > not added to the region, because the region detects that it is a retry. > > # The lucene index applies the put. Now there is an extra entry in the > index that is not in the region. > > > > -- > This message was sent by Atlassian JIRA > (v6.3.15#6346) >