[
https://issues.apache.org/jira/browse/PHOENIX-1576?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Samarth Jain updated PHOENIX-1576:
----------------------------------
Attachment: PHOENIX-1576.patch
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)