[ 
https://issues.apache.org/jira/browse/GEODE-4748?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vadim Lotarev updated GEODE-4748:
---------------------------------
    Description: 
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.

  was:
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)
# 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.


> 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: 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
>            Assignee: Kirk Lund
>            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
(v7.6.3#76005)

Reply via email to