Vadim Lotarev commented on GEODE-4748:

I think that it is not really important what to do with the packets. We can 
reproduce this issue just dropping packets between nodes (emulating temporary 
network interruption). The really important think is that if this interruption 
occurs at transaction commit time than cache will be inconsistent.

> Geode put may result in inconsistent cache if network problem occurs or 
> serialization of key or value class fails
> -----------------------------------------------------------------------------------------------------------------
>                 Key: GEODE-4748
>                 URL: https://issues.apache.org/jira/browse/GEODE-4748
>             Project: Geode
>          Issue Type: Bug
>          Components: membership, regions
>    Affects Versions: 1.0.0-incubating, 1.1.0, 1.1.1, 1.2.0, 1.3.0, 1.2.1, 
> 1.4.0
>            Reporter: Vadim Lotarev
>            Priority: Critical
>         Attachments: clumsy.jpg, geode-4748.log
> Geode cache became inconsistent in case if networking and serialization 
> problems occur at commit time. How to reproduce:
> # create any simple _replicated_ region
> # run two nodes
> # put some value in the region (within a transaction or not)
> # execute query on both nodes to check that the same value is returned (I 
> used JMX for that)
> # emulate somehow temporary networking or serialization error (throw 
> IOException from toData() or use [clumsy|https://jagt.github.io/clumsy/] to 
> emulate network interruption)
> # repeat [#3], exception should occur
> # repeat [#4] - you should see different values on different nodes
> It looks like errors occurred after {{TXState.applyChanges}} produce 
> inconsistency - it is impossible to rollback applied local changes what leads 
> to the state where local cache contains  changed data but other node(s) old 
> data (before changes made in transaction).
> To me, consistency is a key property for the systems like Geode so I would 
> consider this bug as a critical one.

This message was sent by Atlassian JIRA

Reply via email to