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

stack commented on HBASE-14921:
-------------------------------

On the patch, up to this, a CellBlock was nothing but a CellScanner at read 
time and a pride of Cells written by a Cell Codec sitting in a ByteBuffer or a 
byte [] when write had finished. CellBlocks were a ghost because we were afraid 
to commit in case it shut down our being able to do particular implementations 
or optimizations behind the scenes.

In this patch, you appropriate CellBlock and give it a concret implementation 
and one that does not respect the above (badly spec'd) CellBlock ghost 
structure; you implement Map but not CellScanner (See IPCUtil for write-side 
example of a "CellBlock' and RPCClientImpl#readResponse for how we read the 
written CellBlocks... CellBlocks up to this have been in RPC tier only.... but 
are a concept that should be throughout -- as you are trying to help us do). I 
think you have to call this CellBlock thing that is in the patch something else.

The class comment on this CellBlock says "...CellBlock stores a constant number 
of elements and is immutable after creation stage.".  Looking at this 
description makes me wonder if we couldn't do this with a Cell Codec? The 
"SausageCodec" since it is making CellBlocks of constant size?  Codec Interface 
does not support this notion of Encoding in pieces... The Interface just wants 
us to output to an OS.  Would extending Codec help so you could make your Cell 
sausages? 

But hang on... I'll be back. This patch looks interesting....





> Memory optimizations
> --------------------
>
>                 Key: HBASE-14921
>                 URL: https://issues.apache.org/jira/browse/HBASE-14921
>             Project: HBase
>          Issue Type: Sub-task
>    Affects Versions: 2.0.0
>            Reporter: Eshcar Hillel
>            Assignee: Anastasia Braginsky
>         Attachments: CellBlocksSegmentInMemStore.pdf, 
> CellBlocksSegmentinthecontextofMemStore(1).pdf, HBASE-14921-V01.patch, 
> HBASE-14921-V02.patch
>
>
> Memory optimizations including compressed format representation and offheap 
> allocations



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to