I have tried the patch.
The result looks bad. An ArrayIndexOutOfBoundsException is thrown in v5.HColumnDescriptor.readFields at the following line:
this.compressionType = CompressionType.values()[ordinal];

Here is the log of the upgrade procedure:

08/07/24 20:18:16 FATAL util.Migrate: Upgrade failed
java.lang.ArrayIndexOutOfBoundsException: 926169139
at org.apache.hadoop.hbase.util.migration.v5.HColumnDescriptor.readFields(HColumnDescriptor.java:355) at org.apache.hadoop.hbase.util.migration.v5.HTableDescriptor.readFields(HTableDescriptor.java:263) at org.apache.hadoop.hbase.util.migration.v5.HRegionInfo.readFields(HRegionInfo.java:419)
   at org.apache.hadoop.hbase.util.Writables.getWritable(Writables.java:84)
at org.apache.hadoop.hbase.util.migration.v5.MetaUtils.scanRootRegion(MetaUtils.java:203) at org.apache.hadoop.hbase.util.Migrate.rewriteMetaHRegionInfo(Migrate.java:228)
   at org.apache.hadoop.hbase.util.Migrate.migrateToV5(Migrate.java:209)
   at org.apache.hadoop.hbase.util.Migrate.run(Migrate.java:187)
   at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
   at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
   at org.apache.hadoop.hbase.util.Migrate.main(Migrate.java:446)

--
Renaud Delbru


stack wrote:
The messages 'java.io.IOException: Stream closed' should go away when you complete your migration (HBASE-761).

Regards the table name, looks like names that were legal in 0.1 are not so in 0.2. We need to fix. Mind trying this patch?

Index: src/java/org/apache/hadoop/hbase/HTableDescriptor.java
===================================================================
--- src/java/org/apache/hadoop/hbase/HTableDescriptor.java (revision 679235) +++ src/java/org/apache/hadoop/hbase/HTableDescriptor.java (working copy)
@@ -214,7 +214,7 @@
      throw new IllegalArgumentException("Name is null or empty");
    }
    for (int i = 0; i < b.length; i++) {
-      if (Character.isLetterOrDigit(b[i]) || b[i] == '_') {
+ if (Character.isLetterOrDigit(b[i]) || b[i] == '_' || (i > 0 && b[i] == '-')) {
        continue;
      }
throw new IllegalArgumentException("Illegal character <" + b[i] + ">. " +

If it doesn't work for you, maybe you can come up w/ a patch that does (smile).

Thanks,
St.Ack


Renaud Delbru wrote:
I have replaced the hbase.version by the one in HBase 0.13.
Then, I started the upgrade. The upgrade failed because the table name contains invalid characters (see the attached log). Any advices ?

There is also a IOException: stream closed (but I am not sure that it is a big issue).

Reply via email to