hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ramkrishna.s.vasudevan (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-19732) Replica regions does not return back the MSLAB chunks to pool
Date Wed, 10 Jan 2018 16:26:00 GMT

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

I thought I have uploaded the patch. How ever I have not added test case. Not straightforward.
I did not spend time on that. Will finalize a test tomorrow.

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