You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Jianshi Huang (JIRA)" <ji...@apache.org> on 2014/07/31 04:02:39 UTC

[jira] [Created] (HBASE-11622) completebulkload/loadIncrementalHFiles cannot specify table with namespace

Jianshi Huang created HBASE-11622:
-------------------------------------

             Summary: completebulkload/loadIncrementalHFiles cannot specify table with namespace
                 Key: HBASE-11622
                 URL: https://issues.apache.org/jira/browse/HBASE-11622
             Project: HBase
          Issue Type: Bug
    Affects Versions: 0.98.0
            Reporter: Jianshi Huang


I'm using completebulkload to load 500GB of data to a table (presplitted). However, it reports the following errors:

Looks like completebulkload didn't recognize the namespace part (namespace:table).

Caused by: java.net.URISyntaxException: Relative path in absolute URI: grapple:vertices,37.bottom
        at java.net.URI.checkPath(URI.java:1804)
        at java.net.URI.<init>(URI.java:752)
        at org.apache.hadoop.fs.Path.initialize(Path.java:203)

By looking at the source code of LoadIncrementalHFiles.java, it seems the temporary path created for splitting will contain ':',

The error part should be this:
String uniqueName = getUniqueName(table.getName());
    HColumnDescriptor familyDesc = table.getTableDescriptor().getFamily(item.family);
    Path botOut = new Path(tmpDir, uniqueName + ".bottom");
    Path topOut = new Path(tmpDir, uniqueName + ".top");
    splitStoreFile(getConf(), hfilePath, familyDesc, splitKey,
        botOut, topOut);

uniqueName will be "namespce:table" so "new Path(...)" will fail.

A bug?

P.S.
Comment from Matteo Bertozzi:

we don't need the name to be related to the table name.
We can replace the getUniqueName() using something like this

  String getUniqueName(TableName tableName) {
    String name = UUID.randomUUID().toString().replaceAll("-", "") +
                  "," + regionCount.incrementAndGet();
    return name;
  }




--
This message was sent by Atlassian JIRA
(v6.2#6252)