[ https://issues.apache.org/jira/browse/HBASE-19732?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ramkrishna.s.vasudevan updated HBASE-19732: ------------------------------------------- Attachment: HBASE-19732_2.patch Added Closable to MemstoreSnapshot and not to Memstore - [~saint....@gmail.com] FYI. Adding test case seems very difficult because we need region for this secondary region mode and accessing whether the pool was used or not is not straightforward. > 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, HBASE-19732_1.patch, > HBASE-19732_2.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)