[ 
https://issues.apache.org/jira/browse/PHOENIX-5496?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chinmay Kulkarni updated PHOENIX-5496:
--------------------------------------
    Fix Version/s: 4.16.0

> Ensure that we handle all server-side mutation codes on the client[Create 
> table]
> --------------------------------------------------------------------------------
>
>                 Key: PHOENIX-5496
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-5496
>             Project: Phoenix
>          Issue Type: Sub-task
>    Affects Versions: 4.15.0, 5.1.0
>            Reporter: Chinmay Kulkarni
>            Assignee: Neha Gupta
>            Priority: Major
>             Fix For: 4.15.1, 5.1.1, 4.16.0
>
>         Attachments: PHOENIX-5496.4.x.patch, PHOENIX-5496.master.patch
>
>          Time Spent: 4h 20m
>  Remaining Estimate: 0h
>
> There are many instances throughout wherein we set a certain error mutation 
> code in the RPC callback, however we do not handle these mutation codes on 
> the client.
> For example: 
> If the metadata rows for a tableKey are no longer in that SYSCAT region, 
> checkTableKeyInRegion() fails, the metadata for this table is not written to 
> SYSCAT and [the TABLE_NOT_IN_REGION mutation code is 
> set|https://github.com/apache/phoenix/blob/11997d48d1957cf613526f01c5ccbe2812cf095d/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java#L1785-L1790].
> This is handled for 1 retry inside 
> [CQSI.metaDataCoprocessorExec|https://github.com/apache/phoenix/blob/11997d48d1957cf613526f01c5ccbe2812cf095d/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java#L1568-L1570],
>  but if this happens again, it is returned back to the client where it goes 
> to the default case and succeeds.
> Apart from the fact that partial metadata updates are possible leading to 
> orphan metadata rows in system tables, this also wrongly returns success for 
> clients even though there is no record of that table/view being created 
> inside Phoenix's system tables.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to