hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HBASE-3079) Shell displaying uninformative exceptions
Date Thu, 11 Nov 2010 06:12:14 GMT

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

stack commented on HBASE-3079:
------------------------------

@Ryan.... so doesn't look like it was a deploy issue on my part.  Let me explain.

Here is the change I made just now (after we last talkd):

{code}
diff --git a/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java b/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
index 1cd7f62..5a17df2 100644
--- a/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
+++ b/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
@@ -2451,10 +2451,13 @@ public class HRegionServer implements HRegionInterface, HBaseRPCErrorHandler,
 
           this.requestCount.addAndGet(puts.size());
 
+            LOG.info("CODE BEFORE lENGTH ");
           OperationStatusCode[] codes =
               region.put(putsWithLocks.toArray(new Pair[]{}));
 
+            LOG.info("CODE lENGTH " + codes.length);
           for( int i = 0 ; i < codes.length ; i++) {
+            LOG.info("CODE " + codes[i]);
             OperationStatusCode code = codes[i];
 
             Action theAction = puts.get(i);
{code}

The important addition is "+            LOG.info("CODE BEFORE lENGTH ");"

Now if I look in logs I see:

{code}
2010-11-11 06:00:59,160 INFO org.apache.hadoop.hbase.regionserver.HRegionServer: CODE BEFORE
lENGTH
2010-11-11 06:00:59,160 WARN org.apache.hadoop.hbase.regionserver.HRegion: No such column
family in batch put
org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException: Column family x does not
exist in region usertable,user992934061,1288992609496.686d4b2520f56c32877d51bcc08b355a. in
table {NAME => 'usertable', FAMILIES => [{NA}
        at org.apache.hadoop.hbase.regionserver.HRegion.checkFamily(HRegion.java:3126)
        at org.apache.hadoop.hbase.regionserver.HRegion.checkFamilies(HRegion.java:1705)
...
{code}

Error is coming up out of 

{code}
2454             LOG.info("CODE BEFORE lENGTH ");
2455           OperationStatusCode[] codes =
2456               region.put(putsWithLocks.toArray(new Pair[]{}));
{code}

Looking down in minibatch...  why doesn't this assert go off? (We're only writing one row...

{code}
1423       // We've now grabbed as many puts off the list as we can
1424       assert numReadyToWrite > 0;
{code}


I'm running w/ asserts enabled... export HBASE_OPTS="-ea -X...

> Shell displaying uninformative exceptions
> -----------------------------------------
>
>                 Key: HBASE-3079
>                 URL: https://issues.apache.org/jira/browse/HBASE-3079
>             Project: HBase
>          Issue Type: Bug
>          Components: shell
>    Affects Versions: 0.89.20100924
>            Reporter: Jonathan Gray
>            Assignee: ryan rawson
>             Fix For: 0.90.0
>
>
> The shell seems to hang longer than the normal client and then display uninformative
messages when doing wrong things.
> For example, inserting into a non-existing family or reading from a disabled table. 
I believe in both these cases, HTable will throw informative exceptions like InvalidFamilyException
and TableDisabledException (need to confirm exactly what it does).
> But in the shell, I get things like:
> Inserting to a family that does not exist:
> {noformat}
> ERROR: org.apache.hadoop.hbase.client.RetriesExhaustedException: Still had 1 puts left
after retrying 7 times.
> {noformat}
> Reading from a disabled table (this takes a long time before anything is displayed):
> {noformat}
> ERROR: org.apache.hadoop.hbase.client.RetriesExhaustedException: Trying to contact region
server 10.0.0.4:62505 for region sample,,1286217181143.1459f8fdde55752fd91022fb1153d39a.,
row '', but failed after 7 attempts.
> Exceptions:
> org.apache.hadoop.hbase.NotServingRegionException: org.apache.hadoop.hbase.NotServingRegionException:
sample,,1286217181143.1459f8fdde55752fd91022fb1153d39a.
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.getRegion(HRegionServer.java:2221)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:1812)
> 	at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:557)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1007)
> org.apache.hadoop.hbase.client.RegionOfflineException: region offline: sample,,1286217181143.1459f8fdde55752fd91022fb1153d39a.
> org.apache.hadoop.hbase.client.RegionOfflineException: region offline: sample,,1286217181143.1459f8fdde55752fd91022fb1153d39a.
> org.apache.hadoop.hbase.client.RegionOfflineException: region offline: sample,,1286217181143.1459f8fdde55752fd91022fb1153d39a.
> org.apache.hadoop.hbase.client.RegionOfflineException: region offline: sample,,1286217181143.1459f8fdde55752fd91022fb1153d39a.
> org.apache.hadoop.hbase.client.RegionOfflineException: region offline: sample,,1286217181143.1459f8fdde55752fd91022fb1153d39a.
> org.apache.hadoop.hbase.client.RegionOfflineException: region offline: sample,,1286217181143.1459f8fdde55752fd91022fb1153d39a.
> {noformat}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message