hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "rajeshbabu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-10533) commands.rb is giving wrong error messages on exceptions
Date Tue, 18 Feb 2014 06:52:20 GMT

    [ https://issues.apache.org/jira/browse/HBASE-10533?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13903834#comment-13903834
] 

rajeshbabu commented on HBASE-10533:
------------------------------------

[~lhofhansl]
bq. Why would the server retry if the CF is unknown? That in itself is a bug.
In case of unknown column we are not retrying. Any exceptions in batch operation will be added
to RetriesExhaustedWithDetailsException and thrown out. So its not a problem.
{code}
public class NoSuchColumnFamilyException extends DoNotRetryIOException {
{code}

[~jerryhe]
The first part is fixed as part of HBASE-8798 but reverted as part of HBASE-9211. It seems
there is some problem with ruby when we use message method.
Thanks for reminding.

I have upgraded Jruby to 1.7.0  and  tried then getting below exception.
{code}
2014-02-18 12:43:02,544 INFO  [main] Configuration.deprecation: hadoop.native.lib is deprecated.
Instead, use io.native.lib.available
NoMethodError: undefined method `getTerminal' for Java::Jline::Terminal:Module
  refresh_width at /home/rajeshbabu/98/hbase-0.98.0/bin/../lib/ruby/shell/formatter.rb:33
     initialize at /home/rajeshbabu/98/hbase-0.98.0/bin/../lib/ruby/shell/formatter.rb:46
         (root) at /home/rajeshbabu/98/hbase-0.98.0/bin/../bin/hirb.rb:110
{code}


> 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.98.1, 0.99.0, 0.94.18
>
>         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.1.5#6160)

Mime
View raw message