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

Ted Yu commented on HBASE-4388:
-------------------------------

In MetaMigrationRemovingHTD.isMigrated():
{code}
    // Should 'never' happen.
    LOG.warn("Unhandled version=" + hriBytes[0]);
{code}
Since the above would never happen, we should ASSERT.

MigratingVisitor.visit() has:
{code}
      HRegionInfo090x hri090 = getHRegionInfo090x(hriBytes);
      HTableDescriptor htd = hri090.getTableDesc();
      if (!this.htds.contains(htd)) {
{code}
should we guard against IOE from getHRegionInfo090x() ? visit() is declared to 
throw IOE, but we shouldn't let one particular row ruin the migration process.
HashSet permits null element. I think we should check for null htd above (line 
101).

In MetaMigrationRemovingHTD.isMetaHRIUpdated():
{code}
    boolean migrated = version >= HConstants.META_VERSION;
{code}
I think we should introduce another constant in HConstants which signifies Meta 
HRI update status because META_VERSION represents the current version of the 
meta table and may be incremented in the future.
                
> Second start after migration from 90 to trunk crashes
> -----------------------------------------------------
>
>                 Key: HBASE-4388
>                 URL: https://issues.apache.org/jira/browse/HBASE-4388
>             Project: HBase
>          Issue Type: Bug
>          Components: master, migration
>    Affects Versions: 0.92.0
>            Reporter: Todd Lipcon
>            Assignee: stack
>            Priority: Blocker
>             Fix For: 0.92.0
>
>         Attachments: 4388-v2.txt, 4388-v3.txt, 4388-v4.txt, 4388.txt, 
> hbase-4388-root.dir.tgz, hbase-master-nase.log, meta.tgz
>
>
> I started a trunk cluster to upgrade from 90, inserted a ton of data, then 
> did a clean shutdown. When I started again, I got the following exception:
> 11/09/13 12:29:09 INFO master.HMaster: Meta has HRI with HTDs. Updating meta 
> now.
> 11/09/13 12:29:09 FATAL master.HMaster: Unhandled exception. Starting 
> shutdown.
> java.lang.NegativeArraySizeException: -102
>         at org.apache.hadoop.hbase.util.Bytes.readByteArray(Bytes.java:147)
>         at 
> org.apache.hadoop.hbase.HTableDescriptor.readFields(HTableDescriptor.java:606)
>         at 
> org.apache.hadoop.hbase.migration.HRegionInfo090x.readFields(HRegionInfo090x.java:641)
>         at 
> org.apache.hadoop.hbase.util.Writables.getWritable(Writables.java:133)
>         at 
> org.apache.hadoop.hbase.util.Writables.getWritable(Writables.java:103)
>         at 
> org.apache.hadoop.hbase.util.Writables.getHRegionInfoForMigration(Writables.java:228)
>         at 
> org.apache.hadoop.hbase.catalog.MetaEditor.getHRegionInfoForMigration(MetaEditor.java:350)
>         at 
> org.apache.hadoop.hbase.catalog.MetaEditor$1.visit(MetaEditor.java:273)
>         at 
> org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:633)
>         at 
> org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:255)
>         at 
> org.apache.hadoop.hbase.catalog.MetaReader.fullScan(MetaReader.java:235)
>         at 
> org.apache.hadoop.hbase.catalog.MetaEditor.updateMetaWithNewRegionInfo(MetaEditor.java:284)
>         at 
> org.apache.hadoop.hbase.catalog.MetaEditor.migrateRootAndMeta(MetaEditor.java:298)
>         at 
> org.apache.hadoop.hbase.master.HMaster.updateMetaWithNewHRI(HMaster.java:529)
>         at 
> org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:472)
>         at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:309)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to