Re: Strategy for changing fields in a class serialized with PDX

2017-01-12 Thread Jared Stewart
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 > wrote: > > Jared: > For new(furture) version we have mechani

Re: Strategy for changing fields in a class serialized with PDX

2017-01-12 Thread Hitesh Khamesra
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 To: dev@geode.apache.org Sent: Thursday, Ja

Re: Strategy for changing fields in a class serialized with PDX

2017-01-12 Thread Dan Smith
That Configuration class implements DataSerializable, not PdxSerializable. FYI the PdxReader does have a method to check if a field is present. The way to handle different versions of geode with DataSerializable is to use the versioning support described on this page - https://cwiki.apache.org/co

Re: Strategy for changing fields in a class serialized with PDX

2017-01-12 Thread Anilkumar Gingade
One more option would be, by taking advantage of PDX versioning support...The PDX mechanism can handle multiple versions of the same class, instead of modifying the existing field, you could add a new field with Map typeWhen new locator (with new pdx version) reads the old configuration, it con

Re: Strategy for changing fields in a class serialized with PDX

2017-01-12 Thread Anilkumar Gingade
Jared, I meant the server/product version number, if it was stored as part of the ClusterConfig definition in the pdx...If its not, we could think about adding one, which could help in the future to identify the version of the cluster configuration saved/created. -Anil. On Thu, Jan 12, 2017 at

Re: Strategy for changing fields in a class serialized with PDX

2017-01-12 Thread Jared Stewart
Anil - The class does have a serialVersionUID defined, if that’s the type of version number you mean. But the serialVersionUID is not explicitly written out by the toData() method of the class. Could you point me to any examples in the code of checking the version number on a PDX serialized ins

Re: Strategy for changing fields in a class serialized with PDX

2017-01-12 Thread Anilkumar Gingade
You can use version numbers, if its available... We use this mechanism in many cases, rolling upgrade(?), Server to client communication... -Anil. On Thu, Jan 12, 2017 at 10:52 AM, Jared Stewart wrote: > Cluster configuration [1] is currently serialized with PDX and stored in > an internal re