You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "xiaojian zhou (JIRA)" <ji...@apache.org> on 2019/06/22 00:10:00 UTC

[jira] [Created] (GEODE-6899) retried client should set last try's version tag if found

xiaojian zhou created GEODE-6899:
------------------------------------

             Summary: retried client should set last try's version tag if found
                 Key: GEODE-6899
                 URL: https://issues.apache.org/jira/browse/GEODE-6899
             Project: Geode
          Issue Type: Bug
            Reporter: xiaojian zhou


client does a put to serverA with replicated region, serverA distributed to B and C, before the distribution arrived at C, A is killed. Then client could retry to C. C noticed this is a retry operation, it will search for previous try's version tag. 

The found tag should be set into the current event. Interesting thing is:
I found other operations, such as PutIfAbsent and create, they both did that. But replace (i.e. put) did not.  

Another issue is: GEODE-6802 introduce a synchronizeIfNotScheduled(). But there could be a race that membershipListener is also scheduling. The fix is to pause 1 second before calling the newly introduced synchronizeIfNotScheduled(). 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)