[
https://issues.apache.org/jira/browse/HBASE-7596?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13556911#comment-13556911
]
Matteo Bertozzi commented on HBASE-7596:
----------------------------------------
[~lhofhansl] if we want this in 0.94 we should backport HBASE-5359
The test relies on the fact that addColumn(), removeColumn(), modifyTable() are
synchronous and the table descriptor is updated before returning. But without
HBASE-5359 the behaviour is not guaranteed.
> Redundant FSTableDescriptor update
> ----------------------------------
>
> Key: HBASE-7596
> URL: https://issues.apache.org/jira/browse/HBASE-7596
> Project: HBase
> Issue Type: Bug
> Components: master
> Affects Versions: 0.96.0, 0.94.4
> Reporter: Matteo Bertozzi
> Assignee: Matteo Bertozzi
> Priority: Trivial
> Attachments: HBASE-7596-v0.patch
>
>
> The TableAddFamilyHandler and TableDeleteFamilyHandler code looks like
> {code}
> // Update table descriptor in HDFS
> HTableDescriptor htd = this.masterServices.getMasterFileSystem()
> .addColumn(tableName, familyDesc);
> // Update in-memory descriptor cache
> this.masterServices.getTableDescriptors().add(htd);
> {code}
> while the ModifyTableHandler code is just
> {code}
> // Update descriptor
> this.masterServices.getTableDescriptors().add(this.htd);
> {code}
> The MasterFileSystem code looks like
> {code}
> HTableDescriptor htd = this.services.getTableDescriptors().get(tableName);
> // ...add/remove columns to the descriptor...
> this.services.getTableDescriptors().add(htd);
> {code}
> so, the service.getTableDescriptors().add() is called two times for the
> add/delete family handler. (and the table descriptor rewritten twice
> FSTableDescriptors.updateHTableDescriptor())
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira