[ 
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

Reply via email to