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

Viraj Jasani updated PHOENIX-6082:
----------------------------------
    Attachment: PHOENIX-6082.4.x.000.patch

> 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
>
>         Attachments: PHOENIX-6082.4.x.000.patch, PHOENIX-6082.master.000.patch
>
>
> 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)

Reply via email to