[ https://issues.apache.org/jira/browse/GEODE-4375?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ASF GitHub Bot updated GEODE-4375: ---------------------------------- Labels: pull-request-available (was: ) > Mismatch deserialization of TxCommitMessage > ------------------------------------------- > > Key: GEODE-4375 > URL: https://issues.apache.org/jira/browse/GEODE-4375 > Project: Geode > Issue Type: Bug > Components: serialization, transactions > Reporter: Masaki Yamakawa > Priority: Major > Labels: pull-request-available > Fix For: 1.4.0 > > > I am migrating from GemFire 7.x to Geode. After migration, An exception is > now thrown in transaction commit. I would like to fix this problem. > There are the following three patterns as a communication of a transaction. > In this last pattern, a deserialization exception is thrown. > * CacheServer (transaction) -> CacheServer > * Client (transaction) -> CacheServer > * CacheServer via Pool (transaction) -> CacheServer > In toData of TxCommitMessage.RegionCommit.FarSideEntryOp it is decided > whether or not to serialize ShadowKey depending on whether ClientVersion > exists or not. In the case of the last pattern, it is serialized because > ClientVersion exists. In fromData case, it decides whether or not to > deserialize by whether it is a Loner or not. In the case of the last pattern, > it is not Loner. As a result, a deserialization exception is thrown. > Therefore, instead of judging by the internal status of each process, I'd > like to send a flag as to whether ShadowKey exists or not. > Note: The disadvantage is that bytes are increased slightly. -- This message was sent by Atlassian JIRA (v7.6.3#76005)