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

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

Github user ChinmaySKulkarni commented on a diff in the pull request:

    https://github.com/apache/phoenix/pull/406#discussion_r236463122
  
    --- Diff: 
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java
 ---
    @@ -2150,11 +2156,21 @@ public void createTable(RpcController controller, 
CreateTableRequest request,
                     ImmutableBytesPtr parentCacheKey = null;
                     PTable parentTable = null;
                     if (parentTableName != null) {
    -                    // we lock the parent table when creating an index on 
a table or a view
    -                    if (tableType == PTableType.INDEX) {
    +                    // From 4.15 onwards we only need to lock the parent 
table :
    +                    // 1) when creating an index on a table or a view
    +                    // 2) if allowSystemCatalogRollback is true we try to 
lock the parent table to prevent it
    --- End diff --
    
    @twdsilva don't we need to have a way to figure out if a rollback is in 
progress and only acquire the lock if it is currently ongoing, rather than be 
based on the value of *allowSystemCatalogRollback* alone?


> Add client and server side config property to enable rollback of splittable 
> System Catalog if required
> ------------------------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-4765
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-4765
>             Project: Phoenix
>          Issue Type: Sub-task
>            Reporter: Thomas D'Silva
>            Assignee: Thomas D'Silva
>            Priority: Blocker
>         Attachments: PHOENIX-4765-v2-4.x-HBase-1.3.patch, 
> PHOENIX-4765-v2.patch
>
>
> After the server has been upgraded we will have a client and server side 
> config property that will allow us to rollback the upgrade if required. This 
> config will:
> 1. Continue storing parent column metadata along with a child view 
> 2. Disallow metadata changes to a base table that require being propagated to 
> child views.
> 3. Prevent SYSTEM.CATALOG from splitting.
> If the client is older than the server we also disallow metadata changes to a 
> base table with child views since we no longer lock the parent on the server 
> side. This is handled on the client side as part of PHOENIX-3534.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to