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

ASF subversion and git services commented on GEODE-2802:
--------------------------------------------------------

Commit 9887cfd5ca2e0a65f2ebe576060b92c0de91fa30 in geode's branch 
refs/heads/develop from [~agingade]
[ https://git-wip-us.apache.org/repos/asf?p=geode.git;h=9887cfd ]

GEODE-2802 Tombstone version vector to contain only the members that generate 
the tombstone

TombstoneMessage serialization code assumes the member info in RVV to be either
membership-id or disk-id and uses this info while de-serializing.
When there is a mix of persistent and non-persistent region in the cluster
(between nodes), the above assumption will not hold good; resulting in data
serialization exception.

When there is a mix of persistent and non-persistent region, the version info
is always generated from the persistent member. While constructing the tombstone
message, even though there is no tombstone version generated on non-persistent
member, it was added into the tombstone message, resulting in mixed version
source, causing deserialization failure.


> TombstoneMessage can throw SerializationException when region is configured 
> as persistent and non-persistent in cluster (in different nodes).
> ---------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: GEODE-2802
>                 URL: https://issues.apache.org/jira/browse/GEODE-2802
>             Project: Geode
>          Issue Type: Bug
>          Components: regions
>            Reporter: Anilkumar Gingade
>            Assignee: Anilkumar Gingade
>              Labels: storage_2
>
> TombstoneMessage serialization code assumes the member info in RVV to be 
> either membership-id or disk-id and uses this info while de-serializing.
> When there is a mix of persistent and non-persistent region in the cluster 
> (between nodes), the above assumption will not hold good; resulting in data 
> serialization exception.
> DistributedTombstoneOperation$TombstoneMessage
> toData() {
> -
> -
>  if (persistent) {
>           DiskStoreID id = new DiskStoreID();
>           InternalDataSerializer.invokeFromData(id, in);
>           mbr = id;
>         } 
> -
> -



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to