[ 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