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

Matt Corgan commented on HBASE-7233:
------------------------------------

{quote}Would we still have the trouble of teaching KeyValue about where in the 
bytebuffers coming out of the encoder the tag data resides?{quote}Tags are a 
little different than our current fields because there are multiple per Cell.  
For performance sake, we may want to keep the Cell interface to these low level 
methods: getTagsArray(), getNumTags(), getTagsOffset(), getTagsLength(), and 
then have methods for parsing them like {code}Iterable<byte[]> tags = 
CellTool.getTagsIterator(cell){code}.  So the requirement for the 
encoder/decoder would be to line them up in a single array: <vint 
length0><bytes tag0><vint length1><bytes tag1><etc>.

Behind the scenes, tags could be encoded similarly to qualifiers (speaking for 
prefix-tree)

{quote}Any thoughts on how we might distinguish a KV with tags from one 
without? {quote}Could just have Cell.getNumTags() return 0


                
> Serializing KeyValues
> ---------------------
>
>                 Key: HBASE-7233
>                 URL: https://issues.apache.org/jira/browse/HBASE-7233
>             Project: HBase
>          Issue Type: Bug
>            Reporter: stack
>            Assignee: stack
>            Priority: Blocker
>             Fix For: 0.96.0
>
>         Attachments: 7233sketch.txt, 7233.txt, 7233-v2.txt, 
> 7233v3_encoders.txt, 7233v4_encoders.txt, 7233v5_encoders.txt, 
> 7233v6_encoder.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