Jared:
For new(furture) version we have mechanism to deal with old version nodes. look 
InternalDistributedMember class's function (fromDataPre_GFE_7_1_0_0). You can 
use this mechanism to deal with older version. 

-Hitesh


      From: Jared Stewart <jstew...@pivotal.io>
 To: dev@geode.apache.org 
 Sent: Thursday, January 12, 2017 10:52 AM
 Subject: Strategy for changing fields in a class serialized with PDX
   
Cluster configuration [1] is currently serialized with PDX and stored in an 
internal region that is replicated on all Locators.  I would like to change the 
Configuration class from having a Set<String> jarNames to having a Map<String, 
byte[]> jarNamesToJarBytes.  However, this would create a problem when a 
Locator running the new version of the software tries to deserialize an 
instance of the previous version of the Configuration class.  

Basically, inside Configuration’s fromData() method, I would like to determine 
whether the serialized instance came from a version of the class with a Set or 
a version of the class with a Map.  However, I don’t see methods in 
DataSerializer to check for the existence of a particular field name or field 
type.  Does anyone know of a strategy that has been used in the past to make 
these sort of changes?

Thank you,
Jared


[1] org.apache.geode.management.internal.configuration.domain.Configuration

   

Reply via email to