[ 
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)

Reply via email to