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)