You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@phoenix.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2020/11/22 13:31:00 UTC

[jira] [Commented] (PHOENIX-6082) No need to do checkAndPut when altering properties for a table or view with column-encoding enabled

    [ https://issues.apache.org/jira/browse/PHOENIX-6082?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17236939#comment-17236939 ] 

ASF GitHub Bot commented on PHOENIX-6082:
-----------------------------------------

virajjasani opened a new pull request #982:
URL: https://github.com/apache/phoenix/pull/982


   


----------------------------------------------------------------
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:
users@infra.apache.org


> No need to do checkAndPut when altering properties for a table or view with column-encoding enabled
> ---------------------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-6082
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-6082
>             Project: Phoenix
>          Issue Type: Improvement
>    Affects Versions: 5.0.0, 4.15.0
>            Reporter: Chinmay Kulkarni
>            Assignee: Viraj Jasani
>            Priority: Major
>              Labels: performance, phoenix-hardening, quality-improvement
>             Fix For: 5.1.0, 4.16.0
>
>
> ALTER TABLE/VIEW SET <property> follows the same code path as an add column. Thus, when column-encoding is enabled on the physical table, we will do a checkAndPut with the <physical table schema name>, <physical table name> (see [this|https://github.com/apache/phoenix/blob/4ddbe2688b78645bc73857141cec12cb1c08993b/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java#L3940-L3947]).
> This makes sense when we are adding a column since this causes an update to the encoded column qualifier counter of the base table and we want to prevent any concurrent changes to this field. However, when setting properties, we don't update the column qualifier counter so this extra checkAndPut is unnecessary. The server-side [write-lock on the table header row|https://github.com/apache/phoenix/blob/4ddbe2688b78645bc73857141cec12cb1c08993b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java#L2619] followed by a [sequence number check|https://github.com/apache/phoenix/blob/4ddbe2688b78645bc73857141cec12cb1c08993b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java#L2684-L2691] should be sufficient and is already done.



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