virajjasani edited a comment on pull request #960: URL: https://github.com/apache/phoenix/pull/960#issuecomment-727226049
> All of the new fields should be added as `optional` ones The only new proto field added apart from new `TaskMetaDataService` service is a new enum value in `MutationCode` defined in `MetaDataService.proto`. Since it's conversion to `MetaDataProtocol.MutationCode` is done using array ordinal (`result.returnCode = MutationCode.values()[proto.getReturnCode().ordinal()];`), we should be good here because only after system tables are upgraded and client is upgraded to 4.16, new coprocessor will be loaded and used and only after that if we get new enum value of `MutationCode` as callback result of invoking coprocessor, conversion to new enum value of `MetaDataProtocol.MutationCode` will take place at client side. Until client is upgraded to 4.16, new enum value won't be converted using ordinal based formula, which is safe for backward compatibility IMHO. Please correct me if I am wrong. ---------------------------------------------------------------- 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]
