You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by te...@apache.org on 2012/04/28 22:28:17 UTC
svn commit: r1331826 - in
/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver:
HRegion.java RegionServerAccounting.java handler/OpenRegionHandler.java
Author: tedyu
Date: Sat Apr 28 20:28:16 2012
New Revision: 1331826
URL: http://svn.apache.org/viewvc?rev=1331826&view=rev
Log:
HBASE-5611 Revert due to consistent TestChangingEncoding failure in 0.94 branch
Modified:
hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerAccounting.java
hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.java
Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java?rev=1331826&r1=1331825&r2=1331826&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java Sat Apr 28 20:28:16 2012
@@ -403,9 +403,9 @@ public class HRegion implements HeapSize
"hbase.hregion.keyvalue.timestamp.slop.millisecs",
HConstants.LATEST_TIMESTAMP);
+ // don't initialize coprocessors if not running within a regionserver
+ // TODO: revisit if coprocessors should load in other cases
if (rsServices != null) {
- // don't initialize coprocessors if not running within a regionserver
- // TODO: revisit if coprocessors should load in other cases
this.coprocessorHost = new RegionCoprocessorHost(this, rsServices, conf);
}
if (LOG.isDebugEnabled()) {
@@ -2653,15 +2653,6 @@ public class HRegion implements HeapSize
throw e;
}
}
- // The edits size added into rsAccounting during this replaying will not
- // be required any more. So just clear it.
- if (this.rsServices != null) {
- RegionServerAccounting rsAccounting =
- this.rsServices.getRegionServerAccounting();
- if (rsAccounting != null) {
- rsAccounting.clearRegionReplayEditsSize(this.regionInfo.getRegionName());
- }
- }
}
if (seqid > minSeqId) {
// Then we added some edits to memory. Flush and cleanup split edit files.
@@ -2843,15 +2834,7 @@ public class HRegion implements HeapSize
* @return True if we should flush.
*/
protected boolean restoreEdit(final Store s, final KeyValue kv) {
- long kvSize = s.add(kv);
- if (this.rsServices != null) {
- RegionServerAccounting rsAccounting =
- this.rsServices.getRegionServerAccounting();
- if (rsAccounting != null) {
- rsAccounting.addAndGetRegionReplayEditsSize(this.regionInfo.getRegionName(), kvSize);
- }
- }
- return isFlushSize(this.addAndGetGlobalMemstoreSize(kvSize));
+ return isFlushSize(this.addAndGetGlobalMemstoreSize(s.add(kv)));
}
/*
Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerAccounting.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerAccounting.java?rev=1331826&r1=1331825&r2=1331826&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerAccounting.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerAccounting.java Sat Apr 28 20:28:16 2012
@@ -19,12 +19,8 @@
*/
package org.apache.hadoop.hbase.regionserver;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.ConcurrentSkipListMap;
import java.util.concurrent.atomic.AtomicLong;
-import org.apache.hadoop.hbase.util.Bytes;
-
/**
* RegionServerAccounting keeps record of some basic real time information about
* the Region Server. Currently, it only keeps record the global memstore size.
@@ -33,11 +29,6 @@ public class RegionServerAccounting {
private final AtomicLong atomicGlobalMemstoreSize = new AtomicLong(0);
- // Store the edits size during replaying HLog. Use this to roll back the
- // global memstore size once a region opening failed.
- private final ConcurrentMap<byte[], AtomicLong> replayEditsPerRegion =
- new ConcurrentSkipListMap<byte[], AtomicLong>(Bytes.BYTES_COMPARATOR);
-
/**
* @return the global Memstore size in the RegionServer
*/
@@ -53,46 +44,5 @@ public class RegionServerAccounting {
public long addAndGetGlobalMemstoreSize(long memStoreSize) {
return atomicGlobalMemstoreSize.addAndGet(memStoreSize);
}
-
- /***
- * Add memStoreSize to replayEditsPerRegion.
- *
- * @param regionName region name.
- * @param memStoreSize the Memstore size will be added to replayEditsPerRegion.
- * @return the replay edits size for region hri.
- */
- public long addAndGetRegionReplayEditsSize(byte[] regionName, long memStoreSize) {
- AtomicLong replayEdistsSize = replayEditsPerRegion.get(regionName);
- if (replayEdistsSize == null) {
- replayEdistsSize = new AtomicLong(0);
- replayEditsPerRegion.put(regionName, replayEdistsSize);
- }
- return replayEdistsSize.addAndGet(memStoreSize);
- }
-
- /**
- * Roll back the global MemStore size for a specified region when this region
- * can't be opened.
- *
- * @param regionName the region which could not open.
- * @return the global Memstore size in the RegionServer
- */
- public long rollbackRegionReplayEditsSize(byte[] regionName) {
- AtomicLong replayEditsSize = replayEditsPerRegion.get(regionName);
- long editsSizeLong = 0L;
- if (replayEditsSize != null) {
- editsSizeLong = -replayEditsSize.get();
- clearRegionReplayEditsSize(regionName);
- }
- return addAndGetGlobalMemstoreSize(editsSizeLong);
- }
-
- /**
- * Clear a region from replayEditsPerRegion.
- *
- * @param regionName region name.
- */
- public void clearRegionReplayEditsSize(byte[] regionName) {
- replayEditsPerRegion.remove(regionName);
- }
+
}
Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.java?rev=1331826&r1=1331825&r2=1331826&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.java Sat Apr 28 20:28:16 2012
@@ -29,7 +29,6 @@ import org.apache.hadoop.hbase.HTableDes
import org.apache.hadoop.hbase.Server;
import org.apache.hadoop.hbase.executor.EventHandler;
import org.apache.hadoop.hbase.regionserver.HRegion;
-import org.apache.hadoop.hbase.regionserver.RegionServerAccounting;
import org.apache.hadoop.hbase.regionserver.RegionServerServices;
import org.apache.hadoop.hbase.util.CancelableProgressable;
import org.apache.hadoop.hbase.zookeeper.ZKAssign;
@@ -344,17 +343,8 @@ public class OpenRegionHandler extends E
// We failed open. Our caller will see the 'null' return value
// and transition the node back to FAILED_OPEN. If that fails,
// we rely on the Timeout Monitor in the master to reassign.
- LOG.error(
- "Failed open of region=" + this.regionInfo.getRegionNameAsString()
- + ", starting to roll back the global memstore size.", t);
- // Decrease the global memstore size.
- if (this.rsServices != null) {
- RegionServerAccounting rsAccounting =
- this.rsServices.getRegionServerAccounting();
- if (rsAccounting != null) {
- rsAccounting.rollbackRegionReplayEditsSize(this.regionInfo.getRegionName());
- }
- }
+ LOG.error("Failed open of region=" +
+ this.regionInfo.getRegionNameAsString(), t);
}
return region;
}