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

Benoit Sigoure updated HBASE-2321:
----------------------------------

    Hadoop Flags: [Incompatible change, Reviewed]  (was: [Reviewed])

This breaks RPC compatibility.

> Support RPC interface changes at runtime
> ----------------------------------------
>
>                 Key: HBASE-2321
>                 URL: https://issues.apache.org/jira/browse/HBASE-2321
>             Project: HBase
>          Issue Type: Improvement
>          Components: coprocessors
>            Reporter: Andrew Purtell
>            Assignee: Gary Helmling
>             Fix For: 0.92.0
>
>
> Now we are able to append methods to interfaces without breaking RPC 
> compatibility with earlier releases. However there is no way that I am aware 
> of to dynamically add entire new RPC interfaces. Methods/parameters are fixed 
> to the class used to instantiate the server at that time. Coprocessors need 
> this. They will extend functionality on regions in arbitrary ways. How to 
> support that on the client side? A couple of options:
> 1. New RPC from scratch.
> 2. Modify HBaseServer such that multiple interface objects can be used for 
> reflection and objects can be added or removed at runtime. 
> 3. Have the coprocessor host instantiate new HBaseServer instances on 
> ephemeral ports and publish the endpoints to clients via Zookeeper. Couple 
> this with a small modification to HBaseServer to support elastic thread pools 
> to minimize the number of threads that might be kept around in the JVM. 
> 4. Add a generic method to HRegionInterface, an ioctl-like construction, 
> which accepts a ImmutableBytesWritable key and an array of Writable as 
> parameters. 
> My opinion is we should opt for #4 as it is the simplest and most expedient 
> approach. I could also do #3 if consensus prefers. Really we should do #1 but 
> it's not clear who has the time for that at the moment. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to