HBASE-2018 Updates to .META. blocked under high MemStore load
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@887054 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
6f56688341
commit
c3eb2c844f
|
@ -118,6 +118,7 @@ Release 0.21.0 - Unreleased
|
||||||
something...
|
something...
|
||||||
HBASE-1997 zk tick time bounds maximum zk session time
|
HBASE-1997 zk tick time bounds maximum zk session time
|
||||||
HBASE-2003 [shell] deleteall ignores column if specified
|
HBASE-2003 [shell] deleteall ignores column if specified
|
||||||
|
HBASE-2018 Updates to .META. blocked under high MemStore load
|
||||||
|
|
||||||
IMPROVEMENTS
|
IMPROVEMENTS
|
||||||
HBASE-1760 Cleanup TODOs in HTable
|
HBASE-1760 Cleanup TODOs in HTable
|
||||||
|
|
|
@ -1654,7 +1654,9 @@ public class HRegionServer implements HConstants, HRegionInterface,
|
||||||
this.requestCount.incrementAndGet();
|
this.requestCount.incrementAndGet();
|
||||||
HRegion region = getRegion(regionName);
|
HRegion region = getRegion(regionName);
|
||||||
try {
|
try {
|
||||||
cacheFlusher.reclaimMemStoreMemory();
|
if (!region.getRegionInfo().isMetaTable()) {
|
||||||
|
this.cacheFlusher.reclaimMemStoreMemory();
|
||||||
|
}
|
||||||
region.put(put, getLockFromId(put.getLockId()));
|
region.put(put, getLockFromId(put.getLockId()));
|
||||||
|
|
||||||
this.syncWal(region);
|
this.syncWal(region);
|
||||||
|
@ -1671,7 +1673,9 @@ public class HRegionServer implements HConstants, HRegionInterface,
|
||||||
HRegion region = null;
|
HRegion region = null;
|
||||||
try {
|
try {
|
||||||
region = getRegion(regionName);
|
region = getRegion(regionName);
|
||||||
this.cacheFlusher.reclaimMemStoreMemory();
|
if (!region.getRegionInfo().isMetaTable()) {
|
||||||
|
this.cacheFlusher.reclaimMemStoreMemory();
|
||||||
|
}
|
||||||
Integer[] locks = new Integer[puts.length];
|
Integer[] locks = new Integer[puts.length];
|
||||||
for (i = 0; i < puts.length; i++) {
|
for (i = 0; i < puts.length; i++) {
|
||||||
this.requestCount.incrementAndGet();
|
this.requestCount.incrementAndGet();
|
||||||
|
@ -1715,10 +1719,11 @@ public class HRegionServer implements HConstants, HRegionInterface,
|
||||||
this.requestCount.incrementAndGet();
|
this.requestCount.incrementAndGet();
|
||||||
HRegion region = getRegion(regionName);
|
HRegion region = getRegion(regionName);
|
||||||
try {
|
try {
|
||||||
cacheFlusher.reclaimMemStoreMemory();
|
if (!region.getRegionInfo().isMetaTable()) {
|
||||||
|
this.cacheFlusher.reclaimMemStoreMemory();
|
||||||
|
}
|
||||||
boolean retval = region.checkAndPut(row, family, qualifier, value, put,
|
boolean retval = region.checkAndPut(row, family, qualifier, value, put,
|
||||||
getLockFromId(put.getLockId()), true);
|
getLockFromId(put.getLockId()), true);
|
||||||
|
|
||||||
this.syncWal(region);
|
this.syncWal(region);
|
||||||
return retval;
|
return retval;
|
||||||
} catch (Throwable t) {
|
} catch (Throwable t) {
|
||||||
|
@ -1862,12 +1867,13 @@ public class HRegionServer implements HConstants, HRegionInterface,
|
||||||
checkOpen();
|
checkOpen();
|
||||||
try {
|
try {
|
||||||
boolean writeToWAL = true;
|
boolean writeToWAL = true;
|
||||||
this.cacheFlusher.reclaimMemStoreMemory();
|
|
||||||
this.requestCount.incrementAndGet();
|
this.requestCount.incrementAndGet();
|
||||||
Integer lid = getLockFromId(delete.getLockId());
|
|
||||||
HRegion region = getRegion(regionName);
|
HRegion region = getRegion(regionName);
|
||||||
|
if (!region.getRegionInfo().isMetaTable()) {
|
||||||
|
this.cacheFlusher.reclaimMemStoreMemory();
|
||||||
|
}
|
||||||
|
Integer lid = getLockFromId(delete.getLockId());
|
||||||
region.delete(delete, lid, writeToWAL);
|
region.delete(delete, lid, writeToWAL);
|
||||||
|
|
||||||
this.syncWal(region);
|
this.syncWal(region);
|
||||||
} catch (Throwable t) {
|
} catch (Throwable t) {
|
||||||
throw convertThrowableToIOE(cleanup(t));
|
throw convertThrowableToIOE(cleanup(t));
|
||||||
|
@ -1882,10 +1888,11 @@ public class HRegionServer implements HConstants, HRegionInterface,
|
||||||
HRegion region = null;
|
HRegion region = null;
|
||||||
try {
|
try {
|
||||||
boolean writeToWAL = true;
|
boolean writeToWAL = true;
|
||||||
this.cacheFlusher.reclaimMemStoreMemory();
|
|
||||||
Integer[] locks = new Integer[deletes.length];
|
|
||||||
region = getRegion(regionName);
|
region = getRegion(regionName);
|
||||||
|
if (!region.getRegionInfo().isMetaTable()) {
|
||||||
|
this.cacheFlusher.reclaimMemStoreMemory();
|
||||||
|
}
|
||||||
|
Integer[] locks = new Integer[deletes.length];
|
||||||
for (i = 0; i < deletes.length; i++) {
|
for (i = 0; i < deletes.length; i++) {
|
||||||
this.requestCount.incrementAndGet();
|
this.requestCount.incrementAndGet();
|
||||||
locks[i] = getLockFromId(deletes[i].getLockId());
|
locks[i] = getLockFromId(deletes[i].getLockId());
|
||||||
|
|
Loading…
Reference in New Issue