[ https://issues.apache.org/jira/browse/GEODE-6058?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
xiaojian zhou resolved GEODE-6058. ---------------------------------- Resolution: Fixed Fix Version/s: 1.9.0 > 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 > Assignee: xiaojian zhou > Priority: Major > Labels: pull-request-available, swat > Fix For: 1.9.0 > > Time Spent: 0.5h > Remaining Estimate: 0h > > 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)