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

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

Looks like we are already executing a select count(1) query in MetadataClient 
in some cases when a column is added. We can tweak this 
and call it always when a column family is being added. We would need to set 
the right attributes along with expected column families on the scan so that 
the co-processor can accordingly throw a ColumnFamilyNotFound exception if the 
family isn't visible their yet.
{code}
MutationPlan plan = new 
PostDDLCompiler(connection).compile(Collections.singletonList(new 
TableRef(null, table, ts, false)), emptyCF, projectCF == null ? null : 
Collections.singletonList(projectCF), null, ts);
                        return connection.getQueryServices().updateData(plan);
{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