You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "ramkrishna.s.vasudevan (JIRA)" <ji...@apache.org> on 2018/01/08 10:16:00 UTC

[jira] [Updated] (HBASE-19732) Replica regions does not return back the MSLAB pools

     [ 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.patch

Patch for trunk. Fix is simple. Will work on a test case. 

> 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
>
>         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)