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

Todd Lipcon commented on HBASE-4389:
------------------------------------

After a quick pass through the migration code, here are the various issues I 
see:
- HRegionInfo didn't have its VERSION incremented. Hence exception catching is 
used to try to determine which version is being read.
- A single "migrated" boolean flag is used in ROOT to indicate that META has 
been updated to the new format. This leaves us no room for future migrations. 
"migrated" is not a boolean. It should instead be "migratedToVersion" or 
something
- Migration should be idempotent - ie even if the "migratedToVersion" flag 
didn't get updated, migration should be able to re-run without crashing
- Duplicated code between updateRootWithNewRegionInfo and 
updateMetaWithNewRegionInfo
- Each region that is processed results in a call to createTableDescriptor, 
which results in calls to the NN - this will take a long time on a big cluster, 
and is unnecessary
- No sanity checking that all of the HTDs for a table are equal
- Migration code should ideally be moved to a separate class, instead of mixed 
with the non-migration code paths

> Address lots of issues with migration from 90 to trunk
> ------------------------------------------------------
>
>                 Key: HBASE-4389
>                 URL: https://issues.apache.org/jira/browse/HBASE-4389
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>    Affects Versions: 0.92.0
>            Reporter: Todd Lipcon
>            Priority: Critical
>             Fix For: 0.92.0
>
>
> Looking over the migration code that removes HTD from HRI, there are lots of 
> issues. This JIRA is to redo this code in a way that will be less bug prone, 
> and also future proof.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to