Dan and Hitesh - Thank you, this was very informative and exactly what I was 
looking for.  And thank you for clearing up my confusion of PdxSerializable and 
DataSerializable.

- Jared
> On Jan 12, 2017, at 12:06 PM, Hitesh Khamesra <hitesh...@yahoo.com.INVALID> 
> wrote:
> 
> 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