[
https://issues.apache.org/jira/browse/HBASE-10533?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13938427#comment-13938427
]
Jean-Daniel Cryans commented on HBASE-10533:
--------------------------------------------
Not sure I'm following. Without the patch, I get this:
{noformat}
hbase(main):001:0> create 'table', 'f1'
ERROR: Table already exists: table!
{noformat}
With the patch:
{noformat}
hbase(main):001:0> create 'table', 'f1'
ERROR: Table already exists: org.apache.hadoop.hbase.TableExistsException: table
at
org.apache.hadoop.hbase.master.handler.CreateTableHandler.prepare(CreateTableHandler.java:107)
at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:1755)
at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:1876)
at
org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java:40470)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2020)
at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:98)
at
org.apache.hadoop.hbase.ipc.FifoRpcScheduler$1.run(FifoRpcScheduler.java:73)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:695)
!
{noformat}
This looks like the opposite of what you wanted?
> commands.rb is giving wrong error messages on exceptions
> --------------------------------------------------------
>
> Key: HBASE-10533
> URL: https://issues.apache.org/jira/browse/HBASE-10533
> Project: HBase
> Issue Type: Bug
> Components: shell
> Reporter: rajeshbabu
> Assignee: rajeshbabu
> Fix For: 0.96.2, 0.99.0, 0.94.19, 0.98.2
>
> Attachments: HBASE-10533_trunk.patch
>
>
> 1) Clone into existing table name is printing snapshot name instead of table
> name.
> {code}
> hbase(main):004:0> clone_snapshot 'myTableSnapshot-122112','table'
> ERROR: Table already exists: myTableSnapshot-122112!
> {code}
> The reason for this is we are printing first argument instead of exception
> message.
> {code}
> if cause.kind_of?(org.apache.hadoop.hbase.TableExistsException) then
> raise "Table already exists: #{args.first}!"
> end
> {code}
> 2) If we give wrong column family in put or delete. Expectation is to print
> actual column families in the table but instead throwing the exception.
> {code}
> hbase(main):002:0> put 't1','r','unkwown_cf','value'
> 2014-02-14 15:51:10,037 WARN [main] util.NativeCodeLoader: Unable to load
> native-hadoop library for your platform... using builtin-java classes where
> applicable
> 2014-02-14 15:51:10,640 INFO [main] hdfs.PeerCache: SocketCache disabled.
> ERROR: Failed 1 action:
> org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException: Column
> family unkwown_cf does not exist in region
> t1,eeeeeeee,1392118273512.c7230b923c58f1af406a6d84930e40c1. in table 't1',
> {NAME => 'f1', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW',
> REPLICATION_SCOPE => '0', COMPRESSION => 'NONE', VERSIONS => '6', TTL =>
> '2147483647', MIN_VERSIONS => '0', KEEP_DELETED_CELLS => 'false', BLOCKSIZE
> => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}
> at
> org.apache.hadoop.hbase.regionserver.HRegionServer.doBatchOp(HRegionServer.java:4206)
> at
> org.apache.hadoop.hbase.regionserver.HRegionServer.doNonAtomicRegionMutation(HRegionServer.java:3441)
> at
> org.apache.hadoop.hbase.regionserver.HRegionServer.multi(HRegionServer.java:3345)
> at
> org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:28460)
> at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2008)
> at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:92)
> at
> org.apache.hadoop.hbase.ipc.SimpleRpcScheduler.consumerLoop(SimpleRpcScheduler.java:160)
> at
> org.apache.hadoop.hbase.ipc.SimpleRpcScheduler.access$000(SimpleRpcScheduler.java:38)
> at
> org.apache.hadoop.hbase.ipc.SimpleRpcScheduler$1.run(SimpleRpcScheduler.java:110)
> at java.lang.Thread.run(Thread.java:662)
> : 1 time,
> {code}
> The reason for this is server will not throw NoSuchColumnFamilyException
> directly, instead RetriesExhaustedWithDetailsException will be thrown.
--
This message was sent by Atlassian JIRA
(v6.2#6252)