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

Samarth Jain edited comment on PHOENIX-1576 at 1/15/15 12:52 AM:
-----------------------------------------------------------------

The patch does following things:
1) Refactors the properties code out of MetatdataClient to 
ConnectionQueryServicesImpl#addColumn()
2) Makes sure we do only one RPC call for adding columns/setting column family 
properties/setting table properties. The previous code used to do a separate 
RPC for each column family being added as well as a separate RPC for setting 
table properties. 
3) Added a check to poll for updated table descriptor only if column families 
are being added/changed.
4) Tweaked the check for making an end-point call to update table metadata only 
if column families/columns are being added. The end point call is not made if 
we are only changing hbase level properties. See 
ConnectionQueryServicesImpl#addColumn()
5) Added checks for the case when we are adding pk columns and setting 
properties. See AlterTableIT#testAddingPkColAndSettingProperties for the cases 
covered.

[~jamestaylor] - please review. Thanks! 


was (Author: samarthjain):
The patch does following things:
1) Refactors the properties code out of MetatdataClient to 
ConnectionQueryServicesImpl#addColumn()
2) Makes sure we do only one RPC call for adding columns/setting column family 
properties/setting table properties. The previous code used to do a separate 
RPC for each column family being added as well as a separate RPC for setting 
table properties. 
3) Added a check to poll for updated table descriptor only if column families 
are being added/changed.
4) Tweaked the check for making an end-point call to update table metadata only 
if column families/columns are being added. The end point call is not made if 
we are only changing hbase level properties. See 
ConnectionQueryServicesImpl#addColumn()

[~jamestaylor] - please review. Thanks! 

> Refactor property-related code to reside in ConnectionQueryServicesImpl
> -----------------------------------------------------------------------
>
>                 Key: PHOENIX-1576
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-1576
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: James Taylor
>            Assignee: Samarth Jain
>         Attachments: PHOENIX-1576.patch
>
>
> The code in MetaDataClient.addColumn() that deals with teasing apart Phoenix, 
> HColumnDescriptor, and HTableDescriptor properties should all reside in 
> ConnectionQueryServicesImpl, instead of being split between this and 
> MetaDataClient. We should build up an HTableDescriptor with all necessary 
> changes and issue a single modifyTable call instead of making separate RPCs 
> for each change.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to