[ 
https://issues.apache.org/jira/browse/GEODE-7663?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17023183#comment-17023183
 ] 

ASF subversion and git services commented on GEODE-7663:
--------------------------------------------------------

Commit 51a8039c91cd329895b3ab4703f3e92b6c487f5b in geode's branch 
refs/heads/develop from Eric Shu
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=51a8039 ]

GEODE-7663: Fix delta update inconsistency in client cache. (#4618)

* GEODE-7663: Fix delta update inconsistency in client cache.

 * When performing delta update on client, there is a possibility that
   some delta update is not yet applied on client cache.
 * If apply delta update, some queued delta update would be lost -- as
   entry versioning will discard these delta updates when received later.
 * Now it will check if there is a versioning mismatch, if it happened,
   the full value from server will be applied instead of just the delta.



> Delta updates can be lost in client cache proxy due to asynchronous nature of 
> HARegionQueue
> -------------------------------------------------------------------------------------------
>
>                 Key: GEODE-7663
>                 URL: https://issues.apache.org/jira/browse/GEODE-7663
>             Project: Geode
>          Issue Type: Bug
>          Components: client queues
>            Reporter: Eric Shu
>            Priority: Major
>              Labels: GeodeCommons
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> This was found when trying to add test coverage for Tomcat Server 
> (GEODE-7109).
> Assume client1 (cache proxy) creates session (from tomcat server1) and 
> updates attributes a few times. These delta updates will be send to Geode 
> servers. For each update, server will generate a new version and will queue 
> these delta updates to send to other client caches.
> Assume that there is a fail over case and the session fail over to tomcat 
> server2 (with geode client 2 cache proxy cache). The newer update on the 
> session on client 2 will be sent to servers. Once the update is successful on 
> the server, it will be applied to client 2 local cache (with a newest version 
> for the key). Now this cache operation will block the earlier updates sent 
> through HARegionQueue from server to client 2. This will lead to attributes 
> (delta updates) are lost on client 2 local cache -- causing the data 
> inconsistency.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to