Let's consider the following scenario:
The enum previously used was
myEnum{A, D, C} which is then changed to
myEnum{A, B, C, D}.
When doing the above described enum change, a PDX issue due to a non backward compatible change in the PDX registry arises. After changing the enum and starting to write entries with the new
myEnum{A, B, C, D} the client will throw the following exception:
'ordinal cannot change while writing enum entry "D"'
We tried the following workaround:
The disk stores on the servers were removed and the data was reloaded. Data loaded correctly from the external source and initial tests shows all reads are working fine. That is until a GemFire client that was not restarted started to write data and was still using the old
myEnum{A, D, C}. Then, while reading data from GemFire, the clients started throwing PDX exceptions again because the old PDX reference was not present on the servers since all PDX references were removed by removing the disk stores.