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

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

The reason why adding a method at the end of an interface doesn't work is 
actually in the code of HBaseRPC:

{code}
    // There are no guarantees about the order in which items are returned in
    // so do a sort (Was seeing that sort was one way on one server and then
    // another on different server).
    Arrays.sort(methods, new Comparator<Method>() {
      public int compare(Method left, Method right) {
        return left.getName().compareTo(right.getName());
      }
    });
{code}

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

Reply via email to