hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jean-Daniel Cryans (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HBASE-2025) 0.20.2 accessed from older client throws UndeclaredThrowableException; frustrates rolling upgrade
Date Wed, 30 Dec 2009 19:25:29 GMT

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

Jean-Daniel Cryans commented on HBASE-2025:
-------------------------------------------

Further notes.

When we add a new method in RPC we call this:

{code}
    static void addToMap(final String name, final byte code) {
      if (METHODNAME_TO_CODE.containsKey(name)) {
        return;
      }
      METHODNAME_TO_CODE.put(name, Byte.valueOf(code));
      CODE_TO_METHODNAME.put(Byte.valueOf(code), name);
    }
{code}

This means that put(final byte [] regionName, final Put put) and put(final byte[] regionName,
final Put [] puts) share the same code. The reason it works is that once we get the name of
the method we build the full signature using the name of the classes passed by the client
call:

{code}
Method method =
    implementation.getMethod(call.getMethodName(),
       call.getParameterClasses());
{code}

This means that the NPE we get is pure luck, we could also be in a situation where the code
is valid but returns the wrong method name.

> 0.20.2 accessed from older client throws UndeclaredThrowableException; frustrates rolling
upgrade
> -------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-2025
>                 URL: https://issues.apache.org/jira/browse/HBASE-2025
>             Project: Hadoop HBase
>          Issue Type: Bug
>            Reporter: stack
>            Assignee: Jean-Daniel Cryans
>            Priority: Blocker
>             Fix For: 0.20.3
>
>
> From the list:
> {code}
> After upgrading HBase from 0.20.0 to 0.20.2 I am getting following error
> message:
> java.lang.reflect.UndeclaredThrowableException
> at $Proxy2.getRegionInfo(Unknown Source)
> at
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRootRegion(HConnectionManager.java:931)
> at
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:573)
> at
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:549)
> at
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegionInMeta(HConnectionManager.java:623)
> at
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:582)
> at
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:549)
> at
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegionInMeta(HConnectionManager.java:623)
> at
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:586)
> at
> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.locateRegion(HConnectionManager.java:549)
> at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:125)
> at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:103)
> at com.xxxx.OrderLoader$CustomerReducer.setup(OrderLoader.java:81)
> at org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:172)
> at org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:563)
> at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:408)
> at org.apache.hadoop.mapred.Child.main(Child.java:170)
> Caused by: org.apache.hadoop.ipc.RemoteException: java.io.IOException:
> java.lang.NullPointerException
> at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:723)
> at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:328)
> ... 17 more
> This is happening for the following line in my code:
> this.table = new HTable(new HBaseConfiguration(), tableName);
> This used to work flawlessly before, so seems like something changed in
> HBaseConfiguration, may be?  I am looking into this, but any pointers would
> be greatly appreciated.
> {code}
> We should figure what we broke.  Try fix for 0.20.3.  In future, as part of release,
try accessing cluster with an older client to ensure we've not done something that would frustrate
rolling upgrade.

-- 
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