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

2018-01-15 Thread ramkrishna.s.vasudevan (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-19732?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ramkrishna.s.vasudevan updated HBASE-19732:
---
  Resolution: Fixed
Hadoop Flags: Reviewed
  Status: Resolved  (was: Patch Available)

Forgot committing this. Thanks for the reviews. Pushed to master and branch-2.

> 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
(v7.6.3#76005)


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

2018-01-11 Thread ramkrishna.s.vasudevan (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-19732?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ramkrishna.s.vasudevan updated HBASE-19732:
---
Status: Patch Available  (was: Open)

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


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

2018-01-11 Thread ramkrishna.s.vasudevan (JIRA)

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


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

2018-01-11 Thread ramkrishna.s.vasudevan (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-19732?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ramkrishna.s.vasudevan updated HBASE-19732:
---
Status: Open  (was: Patch Available)

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


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

2018-01-10 Thread ramkrishna.s.vasudevan (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-19732?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ramkrishna.s.vasudevan updated HBASE-19732:
---
Status: Patch Available  (was: Open)

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


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

2018-01-10 Thread ramkrishna.s.vasudevan (JIRA)

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


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

2018-01-10 Thread ramkrishna.s.vasudevan (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-19732?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ramkrishna.s.vasudevan updated HBASE-19732:
---
Status: Open  (was: Patch Available)

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


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

2018-01-08 Thread ramkrishna.s.vasudevan (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-19732?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ramkrishna.s.vasudevan updated HBASE-19732:
---
Summary: Replica regions does not return back the MSLAB chunks to pool  
(was: Replica regions does not return back the MSLAB pools)

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