ramkrishna.s.vasudevan created HBASE-19732:
----------------------------------------------
Summary: Replica regions does not return back the MSLAB pools
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
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)