hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ted Yu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-19732) Replica regions does not return back the MSLAB chunks to pool
Date Mon, 08 Jan 2018 10:21:01 GMT

    [ https://issues.apache.org/jira/browse/HBASE-19732?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16316031#comment-16316031
] 

Ted Yu commented on HBASE-19732:
--------------------------------

Good catch.

Should there be a check so that the change is only applied to replica region ?

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

Mime
View raw message