You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2019/03/19 23:59:00 UTC

[jira] [Commented] (GEODE-6271) Unknown pdx type error occurs when a single client is connected to two separate clusters

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

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

Commit 428b55b200fa520529f9ed4dc81e5befdba85c84 in geode's branch refs/heads/develop from Dan Smith
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=428b55b ]

GEODE-6271: Restoring pdx type copying behavior in client

Some users were relying on having PDX types copied from one cluster to
another in the client. This logic was removed (accidentally?) in
cf0b378429. Restoring the original behavior to copy a type from one
cluster to another when it is created.

Note that receiving a type through a read still does not result in
copying a type from one cluster to another, so this topology is not
completely supported even with this fix.

> Unknown pdx type error occurs when a single client is connected to two separate clusters
> ----------------------------------------------------------------------------------------
>
>                 Key: GEODE-6271
>                 URL: https://issues.apache.org/jira/browse/GEODE-6271
>             Project: Geode
>          Issue Type: Bug
>          Components: serialization
>            Reporter: Dan Smith
>            Assignee: Dan Smith
>            Priority: Major
>         Attachments: 0001-GEODE-6271-Test-of-client-connected-to-multiple-clus.patch
>
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> If 
> * A client is connected through two different pools to two different geode clusters 
> * The clusters are not connected by WAN
> * The same pdx serialized class is used in both clusters
> * and the client puts into one or more clusters
> Then it is possible that the client put will result in a value in one of the clusters that will fail deserialization with "java.lang.IllegalStateException: Unknown pdx type." This is because the client will use a type id that is generated in one cluster but is not known to the other cluster.
> I've attached a test case that replicates this scenario. 
> The client used to have some logic that copied PDX types from one cluster to another in some cases. That logic was removed with cf0b378429b643513366ce90226e4f6472056c7b. However, other cases were still not copying the type. In the attached test case, one of the tests will pass if the changes from cf0b3784 are reverted, but the others still fail.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)