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

Andrew Purtell commented on HBASE-11544:
----------------------------------------

The idea would be to leave RegionScanner alone, introduce a new interface like 
ExtendedRegonScanner extending RegionScanner (but please... a better name, I 
know that sucks), put just the new nextRaw into the new interface, and do an 
instanceof check and cast if the check passes, fall back if it doesn't since we 
won't get ScannerContexts passed down through via implementors of plain 
RegionScanner. 

bq. Ain't Region Interface coming in in 1.1.0 too so its going to have some 
work to do anyways?

Yep. I'm thinking about branch-1.0 and 0.98. Or they'll remain susceptible to 
OOME. That could be ok. They would still be susceptible if intermediaries like 
Phoenix wrap the extended RegionScanner with plain RegionScanners. OTOH, we'd 
be source and binary compatible such that this fix can be slotted in to patch 
releases. 

> [Ergonomics] hbase.client.scanner.caching is dogged and will try to return 
> batch even if it means OOME
> ------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-11544
>                 URL: https://issues.apache.org/jira/browse/HBASE-11544
>             Project: HBase
>          Issue Type: Bug
>            Reporter: stack
>            Assignee: Jonathan Lawlor
>            Priority: Critical
>             Fix For: 2.0.0, 1.1.0
>
>         Attachments: Allocation_Hot_Spots.html, 
> HBASE-11544-branch_1_0-v1.patch, HBASE-11544-branch_1_0-v2.patch, 
> HBASE-11544-v1.patch, HBASE-11544-v2.patch, HBASE-11544-v3.patch, 
> HBASE-11544-v4.patch, HBASE-11544-v5.patch, HBASE-11544-v6.patch, 
> HBASE-11544-v6.patch, HBASE-11544-v6.patch, HBASE-11544-v7.patch, 
> HBASE-11544-v8-branch-1.patch, HBASE-11544-v8.patch, gc.j.png, h.png, 
> hits.j.png, m.png, mean.png, net.j.png, q (2).png
>
>
> Running some tests, I set hbase.client.scanner.caching=1000.  Dataset has 
> large cells.  I kept OOME'ing.
> Serverside, we should measure how much we've accumulated and return to the 
> client whatever we've gathered once we pass out a certain size threshold 
> rather than keep accumulating till we OOME.



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

Reply via email to