[ https://issues.apache.org/jira/browse/HBASE-7233?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13511254#comment-13511254 ]
Andrew Purtell commented on HBASE-7233: --------------------------------------- bq. We'd package the kv appropriately... version1 if that was what they asked for. If they asked for version2, they'd get Andrew's tags if any specified? On disk encoding. The tags should be serialized with the KV, inline, so can be read with the KV data in the same read op. What I'm doing now, for backwards compatibility, is write the value length as negative integer to flag the presence of tags and store the tags pretended to user data as part of the value section of the KV. It's ugly. Or, as mentioned, I store tags distinct from their associated KVs as KVs in a shadow column family. Especially when you up Blockcache pressure you can see a significant latency penalty on gets for the latter. Putting tags inline seems wise. How to get them in? Or, what about future evolution of KV? I would really prefer not to double the number of kV types just to say "foo with tags". And then double again for "foo with tags and bar". > 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 > 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