[ 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)