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

Samarth Jain commented on PHOENIX-4176:
---------------------------------------

Looking at HBase code, it looks like a lot more happens than just updating of 
the HTableDescriptor when admin.modifyTable is called.

{code}
 case MODIFY_TABLE_PREPARE:
        prepareModify(env);
        setNextState(ModifyTableState.MODIFY_TABLE_PRE_OPERATION);
        break;
      case MODIFY_TABLE_PRE_OPERATION:
        preModify(env, state);
        setNextState(ModifyTableState.MODIFY_TABLE_UPDATE_TABLE_DESCRIPTOR);
        break;
      case MODIFY_TABLE_UPDATE_TABLE_DESCRIPTOR:
        updateTableDescriptor(env);
        setNextState(ModifyTableState.MODIFY_TABLE_REMOVE_REPLICA_COLUMN);
        break;
      case MODIFY_TABLE_REMOVE_REPLICA_COLUMN:
        updateReplicaColumnsIfNeeded(env, unmodifiedHTableDescriptor, 
modifiedHTableDescriptor);
        if (deleteColumnFamilyInModify) {
          setNextState(ModifyTableState.MODIFY_TABLE_DELETE_FS_LAYOUT);
        } else {
          setNextState(ModifyTableState.MODIFY_TABLE_POST_OPERATION);
        }
        break;
      case MODIFY_TABLE_DELETE_FS_LAYOUT:
        deleteFromFs(env, unmodifiedHTableDescriptor, modifiedHTableDescriptor);
        setNextState(ModifyTableState.MODIFY_TABLE_POST_OPERATION);
        break;
      case MODIFY_TABLE_POST_OPERATION:
        postModify(env, state);
        setNextState(ModifyTableState.MODIFY_TABLE_REOPEN_ALL_REGIONS);
        break;
      case MODIFY_TABLE_REOPEN_ALL_REGIONS:
        reOpenAllRegionsIfTableIsOnline(env);
{code}

> Reduce chances of tests flapping with ColumnFamilyNotFoundException for HBase 
> 1.x
> ---------------------------------------------------------------------------------
>
>                 Key: PHOENIX-4176
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-4176
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: Samarth Jain
>            Assignee: Samarth Jain
>         Attachments: PHOENIX-4176.patch, PHOENIX-4176_v2.patch
>
>
> In HBase 1.x, when adding a new column family, the check to detect whether 
> the HTableDescriptor is updated isn't enough. Tests that add a new column 
> family run the risk of flapping when number of regions on the table are high 
> (since the column family has to be added to all the regions). Till we figure 
> out a permanent solution for this, we can possibly decrease chances of such 
> tests from flapping by reducing number of regions/pre-splits and possibly 
> configuring hbase.online.schema.update.enable to false in our tests. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to