2011-04-18 14:50:22,942 INFO org.apache.hadoop.hbase.regionserver.HRegion: Blocking updates for 'IPC Server handler 6 on 60020' on region data1,70712707089004,1303109282990.da1eccd9d9ebf0f8bfe1116fe7046763.: memstore size 128.1m is >= than blocking 128.0m size
2011-04-18 14:50:22,944 INFO org.apache.hadoop.hbase.regionserver.HRegion: Blocking updates for 'IPC Server handler 4 on 60020' on region data1,70712707089004,1303109282990.da1eccd9d9ebf0f8bfe1116fe7046763.: memstore size 128.3m is >= than blocking 128.0m size
2011-04-18 14:50:22,955 INFO org.apache.hadoop.hbase.regionserver.HRegion: Blocking updates for 'IPC Server handler 8 on 60020' on region data1,70712707089004,1303109282990.da1eccd9d9ebf0f8bfe1116fe7046763.: memstore size 128.3m is >= than blocking 128.0m size
2011-04-18 14:50:22,955 INFO org.apache.hadoop.hbase.regionserver.HRegion: Blocking updates for 'IPC Server handler 7 on 60020' on region data1,70712707089004,1303109282990.da1eccd9d9ebf0f8bfe1116fe7046763.: memstore size 128.3m is >= than blocking 128.0m size
查找了原代码,在HRegion中发现如下片断:
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(); if (!blocked) { LOG.info("Blocking updates for '" + Thread.currentThread().getName() + "' on region " + Bytes.toStringBinary(getRegionName()) + ": memstore size " + StringUtils.humanReadableInt(this.memstoreSize.get()) + " is >= than blocking " + StringUtils.humanReadableInt(this.blockingMemStoreSize) + " size"); } blocked = true; synchronized(this) { try { wait(threadWakeFrequency); } catch (InterruptedException e) { // continue; } } } if (blocked) { LOG.info("Unblocking updates for region " + this + " '" + Thread.currentThread().getName() + "'"); } }