hbase-issues mailing list archives

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

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

Hudson commented on HBASE-19732:

FAILURE: Integrated in Jenkins build HBase-Trunk_matrix #4407 (See [https://builds.apache.org/job/HBase-Trunk_matrix/4407/])
HBASE-19732 Replica regions does not return back the MSLAB chunks to (ramkrishna.s.vasudevan:
rev d155a4e33d279bdf4b57b08ebc8220fe5d97f4cc)
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreSnapshot.java

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

View raw message