[
https://issues.apache.org/jira/browse/PHOENIX-5496?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17086183#comment-17086183
]
Swaroopa Kadam commented on PHOENIX-5496:
-----------------------------------------
Committed the patch to 4.x and master. Thank you, [~neha.gupta].
> Ensure that we handle all server-side mutation codes on the client
> ------------------------------------------------------------------
>
> Key: PHOENIX-5496
> URL: https://issues.apache.org/jira/browse/PHOENIX-5496
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 4.15.0, 5.1.0
> Reporter: Chinmay Kulkarni
> Assignee: Neha Gupta
> Priority: Major
> Fix For: 4.15.1, 5.1.1
>
> 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)