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)