[ https://issues.apache.org/jira/browse/HBASE-3531?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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