[jira] Commented: (HBASE-3531) When under global memstore pressure, may try to flush unflushable regions in a tight loop
[ https://issues.apache.org/jira/browse/HBASE-3531?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12994531#comment-12994531 ] Ted Yu commented on HBASE-3531: --- I think flushOneForGlobalPressure should check whether isAboveLowWaterMark() is still true. When under global memstore pressure, may try to flush unflushable regions in a tight loop - Key: HBASE-3531 URL: https://issues.apache.org/jira/browse/HBASE-3531 Project: HBase Issue Type: Bug Affects Versions: 0.90.1 Reporter: Todd Lipcon Assignee: Todd Lipcon Priority: Blocker Fix For: 0.90.1 Attachments: 3531.txt Ted ran into this in cluster testing. If the largest region is unflushable (eg it's in the midst of closing during a split, and hence doing its own flush), the global memstore pressure code doesn't notice this. So, it keeps trying to flush it, and ignores the false return code from flushRegion. Instead, we should iterate down the list of regions and keep trying to flush them until we find one that works. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (HBASE-3531) When under global memstore pressure, may try to flush unflushable regions in a tight loop
[ https://issues.apache.org/jira/browse/HBASE-3531?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12994535#comment-12994535 ] Todd Lipcon commented on HBASE-3531: Ted: where should it check that? It doesn't block, and we check it right before entering the function, so unlikely the state would change while we're looking for a region to flush. Worst case we flush one extra region below the low water mark, in a really rare race. When under global memstore pressure, may try to flush unflushable regions in a tight loop - Key: HBASE-3531 URL: https://issues.apache.org/jira/browse/HBASE-3531 Project: HBase Issue Type: Bug Affects Versions: 0.90.1 Reporter: Todd Lipcon Assignee: Todd Lipcon Priority: Blocker Fix For: 0.90.1 Attachments: 3531.txt Ted ran into this in cluster testing. If the largest region is unflushable (eg it's in the midst of closing during a split, and hence doing its own flush), the global memstore pressure code doesn't notice this. So, it keeps trying to flush it, and ignores the false return code from flushRegion. Instead, we should iterate down the list of regions and keep trying to flush them until we find one that works. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (HBASE-3531) When under global memstore pressure, may try to flush unflushable regions in a tight loop
[ https://issues.apache.org/jira/browse/HBASE-3531?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12994543#comment-12994543 ] stack commented on HBASE-3531: -- +1 on commit. When under global memstore pressure, may try to flush unflushable regions in a tight loop - Key: HBASE-3531 URL: https://issues.apache.org/jira/browse/HBASE-3531 Project: HBase Issue Type: Bug Affects Versions: 0.90.1 Reporter: Todd Lipcon Assignee: Todd Lipcon Priority: Blocker Fix For: 0.90.1 Attachments: 3531.txt Ted ran into this in cluster testing. If the largest region is unflushable (eg it's in the midst of closing during a split, and hence doing its own flush), the global memstore pressure code doesn't notice this. So, it keeps trying to flush it, and ignores the false return code from flushRegion. Instead, we should iterate down the list of regions and keep trying to flush them until we find one that works. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (HBASE-3531) When under global memstore pressure, may try to flush unflushable regions in a tight loop
[ https://issues.apache.org/jira/browse/HBASE-3531?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12994652#comment-12994652 ] Hudson commented on HBASE-3531: --- Integrated in HBase-TRUNK #1745 (See [https://hudson.apache.org/hudson/job/HBase-TRUNK/1745/]) HBASE-3531. When under global memstore pressure, dont try to flush unflushable regions. When under global memstore pressure, may try to flush unflushable regions in a tight loop - Key: HBASE-3531 URL: https://issues.apache.org/jira/browse/HBASE-3531 Project: HBase Issue Type: Bug Affects Versions: 0.90.1 Reporter: Todd Lipcon Assignee: Todd Lipcon Priority: Blocker Fix For: 0.90.1 Attachments: 3531.txt Ted ran into this in cluster testing. If the largest region is unflushable (eg it's in the midst of closing during a split, and hence doing its own flush), the global memstore pressure code doesn't notice this. So, it keeps trying to flush it, and ignores the false return code from flushRegion. Instead, we should iterate down the list of regions and keep trying to flush them until we find one that works. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira