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

Elliott Clark updated HBASE-2182:
---------------------------------

    Attachment: HBASE-2182-EARLY-0.patch

So I took an early stab at this.  It uses netty for both server and client.  A 
region server has two different ports (right now).  One for admin and one for 
data with a protobuf representation.  All servers have a thread pool for IO 
(getting data in and out, parsing protobuf) and a thread pool for performing 
operations (Scanning, getting, deleting, etc).  Thread pools are memory aware 
so slow queries shouldn't result in OOME's.

All communication takes place through a wrapped protocol buffer protocol:
[32 bit length field, protobuf data]

This is pretty easy to parse and should allow native clients to be written very 
easily.


All dependencies are injected into the constructor of NRegionServer and 
NMasterServer.  This should allow us to test things a little bit easier.  I had 
to make a couple of changes to the Zookeeper listeners for this.

I envision the client having two implementations. The async client that just 
gives off futures like https://github.com/stumbleupon/asynchbase does 
currently.  The second implementation will just be a wrapper for the async 
client that waits for all futures to complete before returning.


Right now nothing works and nothing is really even close.  I just wanted to put 
this up to get the ball rolling on discussion and see if people are even 
interested in this still.
                
> rpc/ipc refactor; x-version compatibility, nio, async, enveloping, sane 
> timeouts, etc.
> --------------------------------------------------------------------------------------
>
>                 Key: HBASE-2182
>                 URL: https://issues.apache.org/jira/browse/HBASE-2182
>             Project: HBase
>          Issue Type: Umbrella
>          Components: ipc, performance
>            Reporter: Andrew Purtell
>            Assignee: ryan rawson
>         Attachments: HBASE-2182-EARLY-0.patch
>
>
> Reimplement HBase RPC with an NIO framework. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to