Description
The TableAddFamilyHandler and TableDeleteFamilyHandler code looks like
// Update table descriptor in HDFS HTableDescriptor htd = this.masterServices.getMasterFileSystem() .addColumn(tableName, familyDesc); // Update in-memory descriptor cache this.masterServices.getTableDescriptors().add(htd);
while the ModifyTableHandler code is just
// Update descriptor this.masterServices.getTableDescriptors().add(this.htd);
The MasterFileSystem code looks like
HTableDescriptor htd = this.services.getTableDescriptors().get(tableName); // ...add/remove columns to the descriptor... this.services.getTableDescriptors().add(htd);
so, the service.getTableDescriptors().add() is called two times for the add/delete family handler. (and the table descriptor rewritten twice FSTableDescriptors.updateHTableDescriptor())
Attachments
Attachments
Issue Links
- is related to
-
HBASE-5359 Alter in the shell can be too quick and return before the table is altered
- Closed