[
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