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;
   }