[
https://issues.apache.org/jira/browse/HBASE-19732?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16320325#comment-16320325
]
stack commented on HBASE-19732:
-------------------------------
Ok. Makes sense.
What you think of [~anoop.hbase] suggestion? For me looking at code, I was
having problem understanding why we were closing Scanners at this point.
Anoop's suggestion seems to help here?
> Replica regions does not return back the MSLAB chunks to pool
> -------------------------------------------------------------
>
> Key: HBASE-19732
> URL: https://issues.apache.org/jira/browse/HBASE-19732
> Project: HBase
> Issue Type: Bug
> Affects Versions: 2.0.0-alpha-4
> Reporter: ramkrishna.s.vasudevan
> Assignee: ramkrishna.s.vasudevan
> Priority: Critical
> Fix For: 2.0.0-beta-2
>
> Attachments: HBASE-19732.patch
>
>
> When we have region replica enabled, we try to replicate the flush markers.
> In the replica region on receiving the FLUSH_START_MARKER we create a
> snapshot. On receiving COMMIT_FLUSH_MARKER we just update the store files and
> clear the snapshot. But in the recent trunk code while creating snapshot
> (need to verify in other branches too)
> {code}
> this.timeRangeTracker = snapshot.getTimeRangeTracker();
> this.scanners = snapshot.getScanners(Long.MAX_VALUE, Long.MAX_VALUE);
> this.tagsPresent = snapshot.isTagsPresent();
> {code}
> The scanners that we create internally increment the openScannerCount per
> MSLAB. But since in this case we don't call scanner.close() we don't
> decrement the scanner count and so the MSLAB chunks are not returned back to
> the pool when the snapshot is closed in the replica region.
> {code}
> int count = openScannerCount.get();
> LOG.info("the count is "+count);
> if(count == 0) {
> recycleChunks();
> {code}
> This is a critical bug.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)