xiaojian zhou created GEODE-6058:
------------------------------------

             Summary: recordVersion should allow update higher local version if 
for non-persistent region
                 Key: GEODE-6058
                 URL: https://issues.apache.org/jira/browse/GEODE-6058
             Project: Geode
          Issue Type: Bug
            Reporter: xiaojian zhou


When we introduced RVV, we put an assertion to disallow recordVersion to be a 
higher local version. i.e. the local version should be increased by local 
member, not from remote (such as GII).

 

But we forgot to enforce this assertion for persistent region only.

 

The reason is: If in persist region, the operation increased local version and 
persist it first before sending out distribution. And it will recover from 
disk. So there's no reason for a persistent region to get a higher local 
version from remote (such as GII). 

 

But this is not the case for non-persistent region. 

 

If we have a non-persistent region with concurrencyCheckEnabled, memberA 
initiated an operation and distributed to remote. The remote member keeps 
memberA's region version as 1. If we destroy and recreate region on memberA, it 
cannot recover from disk. The only way to get RVV back is through GII from 
remote. So we have to allow updating region version 1 for memberA into 
memberA's empty RVV. 



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

Reply via email to