[ https://issues.apache.org/jira/browse/GEODE-5520?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ASF GitHub Bot updated GEODE-5520: ---------------------------------- Labels: pull-request-available (was: ) > Inconsistency created by delta-propagation interaction with concurrency > control > ------------------------------------------------------------------------------- > > Key: GEODE-5520 > URL: https://issues.apache.org/jira/browse/GEODE-5520 > Project: Geode > Issue Type: Bug > Components: client/server, messaging, regions, serialization > Reporter: Bruce Schuchardt > Assignee: Bruce Schuchardt > Priority: Major > Labels: pull-request-available > > I tracked a cache inconsistency down to a delta propagation operation that > failed over from one server to another and then failed to apply the delta on > the new server. > When the full value is sent from the client the message is not marked as a > possible-duplicate. Because it was missing this flag the server did not try > to recover a concurrency version tag for the operation but instead generated > a new version. > When this server propagated the operation to another server it was rejected > by that server because it had already processed the operation from the > client's original attempt. It recognized this by way of the operation's > EventID being recorded in its EventTracker. > This resulted in one server having version X and the other having version X+1 > for the entry. > The client then destroyed the same entry with the same server, generating > version X+1 in that server. When the server propagated the operation the > other server already had X+1 and threw a > ConcurrentCacheModificationException. The result was one server having a > tombstone for the entry and the other having the value from the > delta-propagation operation. > This can be fixed by setting the possible-duplicate flag on the message from > the client that contains the full value. The server will then search for a > concurrency version tag and use it instead of generating a new one. -- This message was sent by Atlassian JIRA (v7.6.3#76005)