[ https://issues.apache.org/jira/browse/HBASE-11544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14378641#comment-14378641 ]
Andrew Purtell commented on HBASE-11544: ---------------------------------------- {quote} The result would be that the RegionScanner interface would look something like {code} NextState nextRaw(List<Cell> result) throws IOException; NextState nextRaw(List<Cell> result, ScannerContext context) throws IOException; {code} {quote} Can we amend this with backwards compatible changes regarding RegionScanner? For example, ScannerContext can have a getter and setter for NextState, there's no need to return it. We could introduce an enhanced interface, leaving RegionScanner alone, and use an instanceof check and cast for the new nextRaw alternative. Hotspot is pretty good about determining if instanceof/casts always receive one type in practice and emitting optimized code for a monomorphic call site (with a deopt guard) . > [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)