hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ramkrishna.s.vasudevan (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-14832) Ensure write paths work with ByteBufferedCells in case of compaction
Date Thu, 19 Nov 2015 18:15:11 GMT

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

ramkrishna.s.vasudevan commented on HBASE-14832:

bq.The patch will work though we've not converted PrefixTree? PrefixTree will run really slow
if it is doing copies all the time which will be a big surprise.
The read part there is no problem. Only when we try to write the Prefixtree cell we need to
ensure that we handle offheap cells also. Currently in compaction case there will be a copy
happening while writing back to the new file.
bq.Ditto for TagCompression. It will work after the patch goes in, it'll just be slow because
of all the copies?
Again this is applicable only during writes (during compaction).  Not during reads.
bq.Can you explain this more or point to a place in the code that shows what you are seeing?
My point was that when DBEs are enabled then the cell that we get to write during compaction
will be a DBE cell ie the decoded cell based on the DBE algo and that will be written back
after encoding into the new file. 
In our current trunk, these DBE decoded cells are of two types (onheap DBE cell and offheap
DBE cell). In the offheap cell only the value part is referring to the offheap hfileblock
coming out of the bucket cache. All other components are onheap byte[] only since the need
to be decoded. 
bq.Was ByteRange an experiment that now should be purged from the code base? I see it used
by PrefixTree. Is that the only place that uses it? I see support in MemStore. Should we undo
it? If deprecated, should we tidy it up some
I think PrefixTree needs it when the cells are KV based. Will check once if we can purge it.

> Ensure write paths work with ByteBufferedCells in case of compaction
> --------------------------------------------------------------------
>                 Key: HBASE-14832
>                 URL: https://issues.apache.org/jira/browse/HBASE-14832
>             Project: HBase
>          Issue Type: Sub-task
>          Components: regionserver, Scanners
>    Affects Versions: 2.0.0
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>            Priority: Minor
>             Fix For: 2.0.0
>         Attachments: HBASE-14832.patch
> Currently any cell coming out of offheap Bucketcache while compaction does a copy using
the getXXXArray() API since write path does not work with BBCells. This JIRA is aimed at changing
the write path to support BBCells so that this copy is avoided.

This message was sent by Atlassian JIRA

View raw message