[ https://issues.apache.org/jira/browse/GEODE-9704?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17518280#comment-17518280 ]
ASF subversion and git services commented on GEODE-9704: -------------------------------------------------------- Commit 30bd1cef01b555c84e970c548cfb0e55f06fbf1c in geode's branch refs/heads/develop from mhansonp [ https://gitbox.apache.org/repos/asf?p=geode.git;h=30bd1cef01 ] GEODE-9704: Ensure that register interest is called before ready for events (#7442) - RegisterInterestOps need to happen before ReadyForEventsOp is sent These changes make sure that happens. - Added an InterestResultPolicyCheck Authored-by: Barry Oglesby <bogle...@users.noreply.github.com> Un-ignored a test that will reproduce the issue periodically during a number of runs. It is a flaky test without the core fix. Authored-by: Jinmei Liao <jil...@pivotal.io> > When durable clients recovers, it sends "ready for event" signal before > register for interest, this might cause problem for caching_proxy regions > ------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: GEODE-9704 > URL: https://issues.apache.org/jira/browse/GEODE-9704 > Project: Geode > Issue Type: Bug > Components: regions > Affects Versions: 1.15.0 > Reporter: Jinmei Liao > Assignee: Mark Hanson > Priority: Major > Labels: GeodeOperationAPI, blocks-1.15.1, pull-request-available > > This is the old Geode behavior, but may or may not be the correct behavior. > When durable clients recovers, there is a queueTimer thread that runs > `QueueManagerImp.recoverPrimary` method, it > * makes new connection to server > - sends readyForEvents (which will cause the server to start sending the > queued events) > - recovers interest > - clears the region of keys of interest > - re-registers interest > It sends readyForEvents before it clears region of keys of interest, if > server sends some events of those keys in between, it will clear them, thus > it seems to the user that the client region doesn't have those keys. > > Run geode-core distributedTest > AuthExpirationDUnitTest.registeredInterest_slowReAuth_policyKeys_durableClient(), > change the InterestResultPolicy to NONE, you would see the test would fail > occasionally, Adding sleep code in QueueManagerImp.recoverPrimary between > `createNewPrimary` and `recoverInterest` would make the test fail more > consistently. -- This message was sent by Atlassian Jira (v8.20.1#820001)