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

Eugene Nedzvetsky commented on GEODE-4748:
------------------------------------------

I've simulated network problem with Clumsy(https://jagt.github.io/clumsy/) and 
reproduced the same issue without exception from toData.

Test preparation:
 # Add property 
{color:#000080}membership-port-range{color}={color:#008000}2025-2030{color}
 # {color:#008000}{color:#333333}Start Clumsy and fill 'Filtering' field: 
{color}{color}{color:#008000}{color:#333333}_tcp and (tcp.DstPort == 2025 or 
tcp.DstPort == 2026 or tcp.DstPort == 2027 or tcp.DstPort == 2028 or 
tcp.DstPort == 2029 or tcp.DstPort == 2030)_
{color}{color}
 # {color:#008000}{color:#333333}Select 'Tamper' checkbox_. (_See pic 
clumsy.jpg_)_{color}{color}

 

{color:#008000}{color:#333333}Changes in steps to reproduce:{color}{color}

{color:#008000}{color:#333333}       5. Click on 'Start' button in Clumsy 
{color}{color}

{color:#008000}{color:#333333}       6. repeat 3, exception should occur and 
click on 'stop' button in Clumsy.
{color}{color}

{color:#008000}{color:#333333}See [^geode-4748.log]{color}{color}

{color:#008000}{color:#333333} {color}{color}

 

 

 

 

 

 

 

 

> Geode put may result in inconsistent cache if 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: Major
>         Attachments: clumsy.jpg, geode-4748.log
>
>
> Geode cache became inconsistent in case if -networking- 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- serialization error (I changed the 
> code throwing IOException from toData())
> # 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