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

stack commented on HBASE-7233:
------------------------------

Following up on our discussion from yesterday, we seemed to agree that hbase 
should ship w/ the KV pb'd broken up into its constituent elements so we can 
evolve KV over time.  The downside, as was voiced yesterday, is that we are 
pretty sure will make hbase horribly slow as we make copies of byte arrays as 
we add them to pb messages and then as pb composes the serialized version of 
the message to rpc (protobuf does not stream; see this protostuff page on 
pros/cons of pb: http://code.google.com/p/protostuff/wiki/ThingsYouNeedToKnow).

What was suggested yesterday was that client could say what it could accept and 
then the server would write alternatively dependent on what the client 
volunteered.

For example, protostuff supports streaming.  If client says it can do 
protostuff, then we'd do protostuff interchange.

Protostuff might not be what we'd want to move too though.  Avro does not seem 
to stream going by a cursory glance.  We could do custom serialization for the 
blob that comes after a pb header identifying what follows -- how it was 
serialized, what version, either size or a continuation flag, etc. -- and the 
blob could be a prefixtree'd blob whether a Result or a Put, etc.

Let me edit the subject on this issue.  Its scope is actually broader than that 
mentioned.
                
> Remove Writable Interface from KeyValue
> ---------------------------------------
>
>                 Key: HBASE-7233
>                 URL: https://issues.apache.org/jira/browse/HBASE-7233
>             Project: HBase
>          Issue Type: Bug
>            Reporter: stack
>            Assignee: stack
>            Priority: Blocker
>         Attachments: 7233.txt, 7233-v2.txt
>
>
> Undo KeyValue being a Writable.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to