HBASE-2439 HBase can get stuck if updates to META are blocked
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@934231 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
4e37ace7c9
commit
40c45392b3
|
@ -269,6 +269,8 @@ Release 0.21.0 - Unreleased
|
|||
HBASE-2346 Usage of FilterList slows down scans
|
||||
HBASE-2341 ZK settings for initLimit/syncLimit should not have been removed
|
||||
from hbase-default.xml
|
||||
HBASE-2439 HBase can get stuck if updates to META are blocked
|
||||
(Kannan Muthukkaruppan via Stack)
|
||||
|
||||
IMPROVEMENTS
|
||||
HBASE-1760 Cleanup TODOs in HTable
|
||||
|
|
|
@ -1444,6 +1444,10 @@ public class HRegion implements HConstants, HeapSize { // , Writable{
|
|||
* the notify.
|
||||
*/
|
||||
private void checkResources() {
|
||||
|
||||
// If catalog region, do not impose resource constraints or block updates.
|
||||
if (this.getRegionInfo().isMetaRegion()) return;
|
||||
|
||||
boolean blocked = false;
|
||||
while (this.memstoreSize.get() > this.blockingMemStoreSize) {
|
||||
requestFlush();
|
||||
|
|
|
@ -221,7 +221,10 @@ class MemStoreFlusher extends Thread implements FlushRequester {
|
|||
// queue if there's too many files.
|
||||
if (removeFromQueue) {
|
||||
checkStoreFileCount(region);
|
||||
} else if (isTooManyStoreFiles(region)) {
|
||||
} else if ((!region.getRegionInfo().isMetaRegion()) &&
|
||||
isTooManyStoreFiles(region)) {
|
||||
// Note: We don't impose blockingStoreFiles constraint on meta regions
|
||||
|
||||
LOG.warn("Region " + region.getRegionNameAsString() + " has too many " +
|
||||
"store files, putting it back at the end of the flush queue.");
|
||||
server.compactSplitThread.compactionRequested(region, getName());
|
||||
|
|
Loading…
Reference in New Issue