[ https://issues.apache.org/jira/browse/GEODE-10260?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17529595#comment-17529595 ]
ASF subversion and git services commented on GEODE-10260: --------------------------------------------------------- Commit f117a59548fe392725616bf9f354748e1ba785d9 in geode's branch refs/heads/develop from Jinmei Liao [ https://gitbox.apache.org/repos/asf?p=geode.git;h=f117a59548 ] GEODE-10260: make sure message is added before they are processed. (#7628) > FilterProfile of a peer server would sometimes miss a CQ when server > initializes > -------------------------------------------------------------------------------- > > Key: GEODE-10260 > URL: https://issues.apache.org/jira/browse/GEODE-10260 > Project: Geode > Issue Type: Bug > Reporter: Jinmei Liao > Assignee: Jinmei Liao > Priority: Major > Labels: needsTriage, pull-request-available > > When server2 initializes at the same time as client register CQ while > connected to server1, when below sequence happened, server2 will have a wrong > idea what cq server1 should serve: > 1. server2 creates the partitioned region and sends a CreateRegionMessage to > server1 > 2. server1 process this message and adds server2 to its profile list > 3. server1 reply to server2 with a CreateRegionReplyMessage > 4. At thee same time server1 does register cq locally and send a REGISTER_CQ > message to server2 > 5. REGISTER_CQ message reaches server2, server2 doesn't have server1's cache > profile yet, so it wants to save the message to the "to_be_processed" queue, > but get stuck there. > 6. meanwhile, the CreateRegionReplyMessage in #3 reaches server2, server2 now > has server1's cache profile, processed the message and then processed > everything in the "to_be_processed" queue. > 7. Now #5 gets unstuck and continues, adds the message to the queue, but the > queue is never processed again, so now in server2's viewpoint, server1 is not > serving that CQ. -- This message was sent by Atlassian Jira (v8.20.7#820007)