phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chinmay Kulkarni (Jira)" <j...@apache.org>
Subject [jira] [Updated] (PHOENIX-6082) No need to do checkAndPut when altering properties for a table or view with column-encoding enabled
Date Tue, 18 Aug 2020 17:53:00 GMT

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

Chinmay Kulkarni updated PHOENIX-6082:
--------------------------------------
    Labels: performance phoenix-hardening quality-improvement  (was: )

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

Mime
View raw message