[
https://issues.apache.org/jira/browse/HBASE-13058?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14339837#comment-14339837
]
Srikanth Srungarapu commented on HBASE-13058:
---------------------------------------------
Error message is looking nasty.
[~a72877] Just a thought. We can parse table name directly from exception
instead of relying on the arguments. Very similar to what is being done in case
of TableExists exception.
{code}
if cause.kind_of?(org.apache.hadoop.hbase.TableExistsException) then
str = java.lang.String.new("#{cause}")
strs = str.split("\n")
if strs.size > 0 then
s = strs[0].split(' ');
if(s.size > 1)
raise "Table already exists: #{s[1]}!"
end
raise "Table already exists: #{strs[0]}!"
end
end
{code}
> Hbase shell command 'scan' for non existent table shows unnecessary info for
> one unrelated existent table.
> ----------------------------------------------------------------------------------------------------------
>
> Key: HBASE-13058
> URL: https://issues.apache.org/jira/browse/HBASE-13058
> Project: HBase
> Issue Type: Bug
> Components: Client
> Reporter: Abhishek Kumar
> Assignee: Abhishek Kumar
> Priority: Trivial
> Fix For: 2.0.0, 1.1.0
>
> Attachments: 0001-HBASE-13058-Error-messages-in-scan-table.patch,
> 0001-HBASE-13058-shell-unknown-table-message-update.patch
>
>
> When scanning for a non existent table in hbase shell, error message in shell
> sometimes(based on META table content) displays completely unrelated table
> info , which seems to be unnecessary and inconsistent with other error
> messages:
> {noformat}
> hbase(main):016:0> scan 'noTable'
> ROW COLUMN+CELL
> ERROR: Unknown table Table 'noTable' was not found, got: hbase:namespace.!
> ---------------------------------------------------------------------------------------------
> hbase(main):017:0> scan '01_noTable'
> ROW COLUMN+CELL
> ERROR: Unknown table 01_noTable!
> --------------------------------------------------
> {noformat}
> Its happening when doing a META table scan (to locate input table ) and
> scanner stops at row of another table (beyond which table can not exist) in
> ConnectionManager.locateRegionInMeta:
> {noformat}
> private RegionLocations locateRegionInMeta(TableName tableName, byte[] row,
> boolean useCache, boolean retry, int replicaId) throws
> IOException {
> .................................
> ................................
> // possible we got a region of a different table...
> if (!regionInfo.getTable().equals(tableName)) {
> throw new TableNotFoundException(
> "Table '" + tableName + "' was not found, got: " +
> regionInfo.getTable() + ".");
> }
> ...............................
> ...............................
> {noformat}
> Here, we can simply put a debug message(if required) and just throw the
> TableNotFoundException(tableName) with only tableName instead of with
> scanner positioned row.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)