[
https://issues.apache.org/jira/browse/HBASE-14636?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14962237#comment-14962237
]
Anoop Sam John commented on HBASE-14636:
----------------------------------------
bq.do the clear after every next() in compaction flow
That will be too much of overhead IMO.. No need.. The shipped call has to
reach KVHeap and then till HFileScanner and just try iterate over the preBlocks
ArrayList and mostly it will be empty if we call it for every next(). So all
these are unwanted overhead.
Here this patch will make sure there wont be OOME for sure.
1. When the blocks being compacted are delivered not from BucketCache, we wont
keep the ref in prevBlocks at all. So even if we call shipped or not at all
call it during compaction flow, no matter
2.When the blocks being compacted are delivered from BucketCache, the data
bytes are still there in the bucket cache dedicated memory area. We just keep
refs.. If we release the prev blocks in between the BucketCache can clear them
as per demand. That is the adv. So better not call after every next() call
but after some time period. Just kept it as 1 min as I saw the logging was
during that interval.. We can change this period and make it shorter. But for
every next() call doing a shipped call... I am not in favor.
> Clear HFileScannerImpl#prevBlocks in btw Compaction flow
> --------------------------------------------------------
>
> Key: HBASE-14636
> URL: https://issues.apache.org/jira/browse/HBASE-14636
> Project: HBase
> Issue Type: Sub-task
> Components: regionserver, Scanners
> Reporter: Anoop Sam John
> Assignee: Anoop Sam John
> Priority: Blocker
> Fix For: 2.0.0
>
>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)