[ https://issues.apache.org/jira/browse/GEODE-8672?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17231818#comment-17231818 ]
ASF subversion and git services commented on GEODE-8672: -------------------------------------------------------- Commit 7a55cba21cbe1fd22668c014a8a96ff161a75820 in geode's branch refs/heads/develop from Eric Shu [ https://gitbox.apache.org/repos/asf?p=geode.git;h=7a55cba ] GEODE-8672: No need in token mode if concurrencyChecksEnabled (#5746) * The DESTROYED token is only needed to prevent concurrent destroy op is lost in GII. If concurrency checks are enabled, the version tag should be able to prevent the destroy op being lost. * Correctly set the inTokenMode to avoid a potential hang in replicate region as invokeTXCallbacks needs to wait for the region initialization finished, but region intialization could not due to lock held by threads invoking callbacks. > Concurrent transactional destroy with GII could cause an entry to be removed > and version information to be lost > --------------------------------------------------------------------------------------------------------------- > > Key: GEODE-8672 > URL: https://issues.apache.org/jira/browse/GEODE-8672 > Project: Geode > Issue Type: Bug > Components: regions > Affects Versions: 1.1.0 > Reporter: Eric Shu > Assignee: Eric Shu > Priority: Major > Labels: pull-request-available > > In a newly rebalanced bucket, while GII is in progress, a transactional > destroy is applied to cache. There is a logic that it should be in token mode > and leaves the entry as a Destroyed token, even though the version tag of the > entry indicates that it has the correct version. > However, at end of the GII, there is a > cleanUpDestroyedTokensAndMarkGIIComplete method removes all the destroyed > entries – this wipes off the entry version tag information and cause the > subsequent creates starts fresh with new version tags. > This could leads to client server data inconsistency as the newly created > entries will be ignored by the clients as the newly created entry has lower > version number while client has high ones. -- This message was sent by Atlassian Jira (v8.3.4#803005)