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

Bryan Duxbury commented on HBASE-794:
-------------------------------------

I think it'd be simpler than what you suggest. My thinking is that when we 
encounter a binary on the wire, if we're set up to do so (right server, right 
compiler options, etc), then we just capture the offset and length from the 
underlying buffer. We change the Thrift object API slightly to have the option 
of returning the buf/off/len object, so that you can do the only copy when 
you're finally writing it out to wherever it's going. There shouldn't be any 
"overhead" to operating on binaries. However, for the non-data portion of the 
stream (the so-called control stream), we'll still have to do things like 
unpack ints from bytes and the like. Without digging in too much deeper, I 
think that only binary and *maybe* strings could benefit from this approach. 
I'd strongly advise against using strings in your Thrift objects, though, if 
you care about performance, since UTF-8 en/decoding seems to be a real dog at 
times.

> Language neutral IPC as a first class component of HBase architecture
> ---------------------------------------------------------------------
>
>                 Key: HBASE-794
>                 URL: https://issues.apache.org/jira/browse/HBASE-794
>             Project: Hadoop HBase
>          Issue Type: New Feature
>          Components: client, ipc, master, regionserver
>            Reporter: Andrew Purtell
>            Assignee: Andrew Purtell
>            Priority: Minor
>
> This issue considers making a language neutral IPC mechanism and wire format 
> a first class component of HBase architecture. Clients could talk to the 
> master and regionserver using this protocol instead of HRPC at their option.
> Options for language neutral IPC include:
> * Thrift: http://incubator.apache.org/thrift/
> * Protocol buffers: http://code.google.com/p/protobuf/
> * XDR: http://en.wikipedia.org/wiki/External_Data_Representation

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