gaussianrecurrence opened a new pull request #806:
URL: https://github.com/apache/geode-native/pull/806


    - In scenarios where an PdxInstance is obtained and later used, it
      might happen a coredump if the PdxTypeRegistry is cleaned up after the
      PdxInstance is obtained. This happens on those scenarios where
      redundancy is completly lost.
    - This change refactors PdxInstance handling so in all cases, the PdxType
      used is the one owned by the PdxInstance.
      Whenever the PdxInstance is to be written, a check is executed to
      ensure the cluster is aware of the PdxType and if not, register it.
    - Removed PdxInstance serialization retries, as with the new approach
      is not needed anymore.
    - Removed UnknownPdxTypeException exception. Instead whenever a PdxType
      is requested and not present, an IllegalStateException exception is
      thrown, as it happens in the Java client.
    - Now PdxInstance is not serialized whenever created. Instead, it's PDX
      byte stream is generated on-demand. Note that the PdxInstance will be
      serialized before being put into a server, as it was done before this
      change.
    - Fixed TcrMessage deserialization whenever a PdxType is requested by
      its ID and no PdxType was found.
    - Fixed incPdxInstanceCreations so it's incremented strictly whenver a
      PdxInstance is created, and not whenever a PdxInstance is
      deserialized.
    - Fixed IT PdxTypeRegistry cleanupOnClusterRestart logic and renamed to
      cleanupOnClusterRestartAndPut. This test was supposed to verify that
      if a PdxInstance is created, and after that the cluster is restarted,
      there is no coredump while writting it to a region. Instead it was
      creating a PdxInstance before and after the cluster, but it has been
      fixed to work as initially intended.
    - Created a new IT PdxTypeRegistry cleanupOnClusterRestartAndFetchFields
      to verify the issue described in the first bullet is not causing a 
coredump.
    - Removed old IT testThinClientPdxInstance TS as there is a equivalent new
      IT TS named PdxInstanceTest.
    - Fixed some ITs to work accordingly the the new code.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to