Bhupendra Kumar Jain created HBASE-13026:
--------------------------------------------
Summary: Wrong error message in case incorrect snapshot name OR
Incorrect table name
Key: HBASE-13026
URL: https://issues.apache.org/jira/browse/HBASE-13026
Project: HBase
Issue Type: Bug
Affects Versions: 2.0.0
Reporter: Bhupendra Kumar Jain
Priority: Minor
hbase(main):009:0> snapshot 't1', '.t1Snapshot'
ERROR: Illegal first character <46> at 0. {color:red}*Namespaces*{color} can
only start with alphanumeric characters': i.e. [a-zA-Z_0-9]: t1Snapshot
hbase(main):008:0> create '-test' , 'cf1'
ERROR: Illegal first character <45> at 0.{color:red}*Namespaces*{color} can
only start with alphanumeric characters': i.e. [a-zA-Z_0-9]: -test
>> As per message "Namespaces" is wrong. But in this scenario, snapshot / table
>> name start character is wrong.
Its because in the code the message is as below
{code}
if (qualifierName[start] == '.' || qualifierName[start] == '-') {
throw new IllegalArgumentException("Illegal first character <" +
qualifierName[0] +
"> at 0. Namespaces can only start
with alphanumeric " +
"characters': i.e. [a-zA-Z_0-9]: " +
Bytes.toString(qualifierName));
{code}
The correct code should be as below
{code}
if (qualifierName[start] == '.' || qualifierName[start] == '-') {
throw new IllegalArgumentException("Illegal first character <" +
qualifierName[start] +
"> at 0. " + (isSnapshot ? "Snapshot"
: "User-space table") +
" qualifiers can only start with
'alphanumeric " +
"characters': i.e. [a-zA-Z_0-9]: " +
Bytes.toString(qualifierName, start,
end));
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)