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