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

ramkrishna.s.vasudevan commented on HBASE-8496:
-----------------------------------------------

bq.Add author, date, and JIRA you are referring to.
Will do.
bq.Should you make a TaggedKeyValueCodec or you think it fine just making 
KeyValueCodec handle tags if present?
I think KeyValueCodec will server the purpose because KVCodec does not mind 
what is the internal byte structure so with or without tag is should be able to 
handle.  What you feel?
bq.If tags as attribute, maybe have a special key, something like, 
tags.visibility.
A special constant you mean? Should be fine. Mine just showed an example we can 
make that key something like a keyword.
bq. Besides, hfile is broke at the moment in that it only knows one kind of kv 
serialization and it is baked in everwhere. How you propose we fix this? Can we 
move hfile to be Cell based?
HFile to cell based should be the best choice but converting the current hfile 
blocks to cell based blocks  i need to check the changes.  Let me give a try at 
it.
bq.We can do an alternate serialization later, one that keeps tags close so we 
can spin through them fast w/o having to read value data.
Making alternate serialization later may involve changes to the existing 
comparators i feel, may be with Cell based this change should be simple i think.
bq.HFileBlockEncoders also are broke in that they presume the KV serialization 
format. HFileBlockEncoders should be like the new Cell Codecs.
Yes.  Everywhere the code just tries to go with KV format.  
bq.When you say additional 'read', do you mean a new seek?
No i meant the read issued on the byte buffers.
bq.Could hfile blocks be cellblocks? And in meta data for hfile say what 
decoder to use?
bq.If Cells, you'll get your tags carried along for you. Your CPs could then 
exploit them when present. The serialization could be your proposed 
KV-with-tags-on-the-end but when we touch hfile, can we pass cellblocks and 
read cellblocks (encoding and/or compression could be metadata in hfile – I 
suppose this means one encoding/compression per file which is probably fine. 
Compressed/encoded blocks in memory would have to be accessed w/ CellScanner... 
would need resettable CellScanner though I suppose.
As said above will check this also.  May be i can comment on this based on the 
analysis that i do in next couple of days and get back on this.  

If we try to use KeyValueCodec and try to use it per Cellblock then the 
KeyValueCodec.decoder() should work on the Cellblock but rather KeyValueCodec 
does not help much in the decoding time.

The performance results with KVCodec seemed to be performing less than the 
other prototypes that i tried out.
                
> Implement tags and the internals of how a tag should look like
> --------------------------------------------------------------
>
>                 Key: HBASE-8496
>                 URL: https://issues.apache.org/jira/browse/HBASE-8496
>             Project: HBase
>          Issue Type: New Feature
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.98.0
>
>         Attachments: Tag design.pdf
>
>
> The intent of this JIRA comes from HBASE-7897.
> This would help us to decide on the structure and format of how the tags 
> should look like. 

--
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