Uploaded image for project: 'Geode'
  1. Geode
  2. GEODE-6271

Unknown pdx type error occurs when a single client is connected to two separate clusters

    XMLWordPrintableJSON

Details

    • Bug
    • Status: In Progress
    • Major
    • Resolution: Unresolved
    • None
    • None
    • serialization
    • None

    Description

      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.

      Attachments

        Activity

          People

            upthewaterspout Dan Smith
            upthewaterspout Dan Smith
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 1h 40m
                1h 40m