hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (HBASE-1669) need dynamic extensibility of HBaseRPC code maps and interface lists
Date Sat, 18 Jul 2009 00:46:15 GMT

     [ https://issues.apache.org/jira/browse/HBASE-1669?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

stack resolved HBASE-1669.

      Resolution: Fixed
    Hadoop Flags: [Reviewed]

Committed after adding in Andrew's suggestion that it should throw exception if the code is
already taken.

Thanks for patch Clint and for reviews Andrew.

> need dynamic extensibility of HBaseRPC code maps and interface lists
> --------------------------------------------------------------------
>                 Key: HBASE-1669
>                 URL: https://issues.apache.org/jira/browse/HBASE-1669
>             Project: Hadoop HBase
>          Issue Type: Bug
>            Reporter: Andrew Purtell
>             Fix For: 0.20.0
>         Attachments: 1588.patch, 1669.patch
> From https://issues.apache.org/jira/browse/HBASE-1588?focusedCommentId=12732675&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_12732675
> {quote}
> Now RPC does not work for the transactional interface. I see thinks like:
> [17/07/09 11:34:59] 26052 [or: SeedService] ERROR org.apache.hadoop.ipc.HbaseRPC - Unsupported
type beginTransaction
> Caused by: java.lang.UnsupportedOperationException: No code for unexpected abort
> at org.apache.hadoop.hbase.ipc.HBaseRPC$Invocation.writeMethodNameCode(HBaseRPC.java:225)
> at org.apache.hadoop.hbase.ipc.HBaseRPC$Invocation.write(HBaseRPC.java:152)
> at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.sendParam(HBaseClient.java:475)
> at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:708)
> at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:321)
> at $Proxy18.abort(Unknown Source)
> at org.apache.hadoop.hbase.client.transactional.TransactionManager.abort(TransactionManager.java:214)
> at org.apache.hadoop.hbase.client.transactional.TransactionManager.abort(TransactionManager.java:198)
> Looking at HBaseRPC, it seems the interfaces are added in a static block inside of Invocation.
Is there a way to add my interface from contrib?
> {quote}
> Maybe we can rig up something which uses annotations to mark RPC interfaces and associate
an integer code with them, and then scan all classes on the classpath from a static initializer
or constructor in HBaseRPC? 

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

View raw message