[ https://issues.apache.org/jira/browse/PHOENIX-6155?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17232203#comment-17232203 ]
ASF GitHub Bot commented on PHOENIX-6155: ----------------------------------------- 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: us...@infra.apache.org > Prevent doing direct upserts into SYSTEM.TASK from the client > ------------------------------------------------------------- > > Key: PHOENIX-6155 > URL: https://issues.apache.org/jira/browse/PHOENIX-6155 > Project: Phoenix > Issue Type: Improvement > Affects Versions: 5.0.0, 4.15.0 > Reporter: Chinmay Kulkarni > Assignee: Viraj Jasani > Priority: Major > Fix For: 5.1.0, 4.16.0 > > Attachments: PHOENIX-6155.4.x.000.patch, PHOENIX-6155.4.x.001.patch > > > In environments with namespace-mapping enabled, we will have to grant write > access to clients in order to make direct upserts into SYSTEM.TASK. Currently > we add a task from the client-side > [here|https://github.com/apache/phoenix/blob/4.x/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java#L4654]. > In order to implement other Jiras like > [PHOENIX-6154|https://issues.apache.org/jira/browse/PHOENIX-6154] we also may > need to interact with the SYSTEM.TASK table from the client-side. > Instead of doing direct upserts into this table, we should add an endpoint on > SYSTEM.TASK and clients should interact with that. -- This message was sent by Atlassian Jira (v8.3.4#803005)