[jira] [Comment Edited] (HBASE-14978) Don't allow Multi to retain too many blocks

2017-03-29 Thread stack (JIRA)

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

stack edited comment on HBASE-14978 at 3/29/17 3:46 PM:


Makes sense [~anoop.hbase] Should be easy enough to verify. We should just not 
do this trick when Cell is backed by BucketCache? Open new issue? Can we get a 
metric in here on how effective (or frustrating) this change is?


was (Author: stack):
Makes sense [~anoop.hbase] Should be easy enough to verify. We should just not 
do this trick when Cell is backed by BucketCache?

> Don't allow Multi to retain too many blocks
> ---
>
> Key: HBASE-14978
> URL: https://issues.apache.org/jira/browse/HBASE-14978
> Project: HBase
>  Issue Type: Improvement
>  Components: io, IPC/RPC, regionserver
>Affects Versions: 2.0.0, 1.2.0, 1.3.0
>Reporter: Elliott Clark
>Assignee: Elliott Clark
>Priority: Blocker
> Fix For: 2.0.0, 1.2.0, 1.3.0
>
> Attachments: HBASE-14978-branch-1.2.patch, 
> HBASE-14978-branch-1.2.patch, HBASE-14978-branch-1.2.patch, 
> HBASE-14978-branch-1.2.patch, HBASE-14978.patch, HBASE-14978-v1.patch, 
> HBASE-14978-v2.patch, HBASE-14978-v3.patch, HBASE-14978-v4.patch
>
>
> Scans and Multi's have limits on the total size of cells that can be 
> returned. However if those requests are not all pointing at the same blocks 
> then the KeyValues can keep alive a lot more data than their size.
> Take the following example:
> A multi with a list of 1 gets to a fat row. Each column being returned in 
> in a different block. Each column is small 32 bytes or so.
> So the total cell size will be 32 * 1 = ~320kb. However if each block is 
> 128k then total retained heap size will be almost 2gigs.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Comment Edited] (HBASE-14978) Don't allow Multi to retain too many blocks

2015-12-15 Thread Anoop Sam John (JIRA)

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

Anoop Sam John edited comment on HBASE-14978 at 12/15/15 8:33 AM:
--

So with off heap Cells, withe very cell, we will treat it as coming from a new 
block?
In fact with off heap Cell, which are delivered from L2 off heap cache, we wont 
get any OOME issue whatever be the #blocks one request touches. We avoid 
copying of block data from L2 off heap space to temp byte[].  So these Cells 
refer to the L2 cache space only.

bq.if (c.getRowArray() != lastBlock) {
Even with array backed cells also this wont work as expected when we use DBE.  
In that case every Cell will have new byte[] backing the key parts at least..  
Now with Cells in place every where, this kind of assumption taking is not 
correct IMHO.


was (Author: anoop.hbase):
So with off heap Cells, withe very cell, we will treat it as coming from a new 
block?

bq.if (c.getRowArray() != lastBlock) {
Even with array backed cells also this wont work as expected when we use DBE.  
In that case every Cell will have new byte[] backing the key parts at least..  
Now with Cells in place every where, this kind of assumption taking is not 
correct IMHO.

> Don't allow Multi to retain too many blocks
> ---
>
> Key: HBASE-14978
> URL: https://issues.apache.org/jira/browse/HBASE-14978
> Project: HBase
>  Issue Type: Improvement
>Affects Versions: 2.0.0, 1.2.0, 1.3.0
>Reporter: Elliott Clark
>Assignee: Elliott Clark
>Priority: Critical
> Attachments: HBASE-14978-v1.patch, HBASE-14978.patch
>
>
> Scans and Multi's have limits on the total size of cells that can be 
> returned. However if those requests are not all pointing at the same blocks 
> then the KeyValues can keep alive a lot more data than their size.
> Take the following example:
> A multi with a list of 1 gets to a fat row. Each column being returned in 
> in a different block. Each column is small 32 bytes or so.
> So the total cell size will be 32 * 1 = ~320kb. However if each block is 
> 128k then total retained heap size will be almost 2gigs.



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