You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2010/10/13 07:39:13 UTC
svn commit: r1022003 - in /hbase/trunk/src:
main/java/org/apache/hadoop/hbase/ipc/
main/java/org/apache/hadoop/hbase/master/
main/java/org/apache/hadoop/hbase/master/handler/
test/java/org/apache/hadoop/hbase/util/
Author: stack
Date: Wed Oct 13 05:39:11 2010
New Revision: 1022003
URL: http://svn.apache.org/viewvc?rev=1022003&view=rev
Log:
HBASE-3100 stop splitting in TestMergeTable, and add debug
Modified:
hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java
hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/OpenedRegionHandler.java
hbase/trunk/src/test/java/org/apache/hadoop/hbase/util/TestMergeTable.java
Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java?rev=1022003&r1=1022002&r2=1022003&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java Wed Oct 13 05:39:11 2010
@@ -312,9 +312,10 @@ public interface HRegionInterface extend
* Closes the specified region.
* @param region region to close
* @return true if closing region, false if not
+ * @throws IOException
*/
public boolean closeRegion(final HRegionInfo region)
- throws NotServingRegionException;
+ throws IOException;
// Region administrative methods
Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java?rev=1022003&r1=1022002&r2=1022003&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java Wed Oct 13 05:39:11 2010
@@ -67,6 +67,7 @@ import org.apache.hadoop.hbase.zookeeper
import org.apache.hadoop.hbase.zookeeper.ZooKeeperListener;
import org.apache.hadoop.hbase.zookeeper.ZKUtil.NodeAndData;
import org.apache.hadoop.io.Writable;
+import org.apache.hadoop.ipc.RemoteException;
import org.apache.zookeeper.KeeperException;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
@@ -786,9 +787,17 @@ public class AssignmentManager extends Z
// Send CLOSE RPC
try {
serverManager.sendRegionClose(regions.get(region), state.getRegion());
- } catch (NotServingRegionException e) {
- LOG.warn("Attempted to close region " + region.getRegionNameAsString() +
- " but got an NSRE", e);
+ } catch (IOException e) {
+ if (e instanceof RemoteException) {
+ e = ((RemoteException)e).unwrapRemoteException();
+ }
+ if (e instanceof NotServingRegionException) {
+ LOG.warn("Attempted to close region " + region.getRegionNameAsString() +
+ " but got an NSRE", e);
+ }
+ // For now call abort if unexpected exception -- seeing it up in hudson.
+ // St.Ack 20101012
+ this.master.abort("Remote unexpected exception", e);
} catch (Throwable t) {
// For now call abort if unexpected exception -- seeing it up in hudson.
// St.Ack 20101012
Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java?rev=1022003&r1=1022002&r2=1022003&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java Wed Oct 13 05:39:11 2010
@@ -31,14 +31,12 @@ import java.util.concurrent.ConcurrentHa
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.util.StringUtils;
import org.apache.hadoop.hbase.Chore;
import org.apache.hadoop.hbase.HMsg;
import org.apache.hadoop.hbase.HRegionInfo;
import org.apache.hadoop.hbase.HServerAddress;
import org.apache.hadoop.hbase.HServerInfo;
import org.apache.hadoop.hbase.HServerLoad;
-import org.apache.hadoop.hbase.NotServingRegionException;
import org.apache.hadoop.hbase.PleaseHoldException;
import org.apache.hadoop.hbase.Server;
import org.apache.hadoop.hbase.Stoppable;
@@ -50,6 +48,8 @@ import org.apache.hadoop.hbase.master.ha
import org.apache.hadoop.hbase.master.metrics.MasterMetrics;
import org.apache.hadoop.hbase.regionserver.Leases.LeaseStillHeldException;
import org.apache.hadoop.hbase.util.Threads;
+import org.apache.hadoop.ipc.RemoteException;
+import org.apache.hadoop.util.StringUtils;
/**
* The ServerManager class manages info about region servers - HServerInfo,
@@ -542,10 +542,10 @@ public class ServerManager {
* @param server server to open a region
* @param regionName region to open
* @return true if server acknowledged close, false if not
- * @throws NotServingRegionException
+ * @throws IOException
*/
public void sendRegionClose(HServerInfo server, HRegionInfo region)
- throws NotServingRegionException {
+ throws IOException {
HRegionInterface hri = getServerConnection(server);
if(hri == null) {
LOG.warn("Attempting to send CLOSE RPC to server " +
Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/OpenedRegionHandler.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/OpenedRegionHandler.java?rev=1022003&r1=1022002&r2=1022003&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/OpenedRegionHandler.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/handler/OpenedRegionHandler.java Wed Oct 13 05:39:11 2010
@@ -19,6 +19,8 @@
*/
package org.apache.hadoop.hbase.master.handler;
+import java.io.IOException;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.hbase.HRegionInfo;
@@ -35,9 +37,7 @@ import org.apache.zookeeper.KeeperExcept
*/
public class OpenedRegionHandler extends EventHandler implements TotesHRegionInfo {
private static final Log LOG = LogFactory.getLog(OpenedRegionHandler.class);
-
private final AssignmentManager assignmentManager;
- private final RegionTransitionData data;
private final HRegionInfo regionInfo;
private final HServerInfo serverInfo;
private final OpenedPriority priority;
@@ -60,8 +60,12 @@ public class OpenedRegionHandler extends
AssignmentManager assignmentManager, RegionTransitionData data,
HRegionInfo regionInfo, HServerInfo serverInfo) {
super(server, EventType.RS_ZK_REGION_OPENED);
+ try {
+ throw new IOException("IGNORE");
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
this.assignmentManager = assignmentManager;
- this.data = data;
this.regionInfo = regionInfo;
this.serverInfo = serverInfo;
if(regionInfo.isRootRegion()) {
Modified: hbase/trunk/src/test/java/org/apache/hadoop/hbase/util/TestMergeTable.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/test/java/org/apache/hadoop/hbase/util/TestMergeTable.java?rev=1022003&r1=1022002&r2=1022003&view=diff
==============================================================================
--- hbase/trunk/src/test/java/org/apache/hadoop/hbase/util/TestMergeTable.java (original)
+++ hbase/trunk/src/test/java/org/apache/hadoop/hbase/util/TestMergeTable.java Wed Oct 13 05:39:11 2010
@@ -74,6 +74,8 @@ public class TestMergeTable {
// Set maximum regionsize down.
UTIL.getConfiguration().setLong("hbase.hregion.max.filesize", 64L * 1024L * 1024L);
+ // Make it so we don't compact and then split.
+ UTIL.getConfiguration().setInt("hbase.hstore.compactionThreshold", 30);
// Startup hdfs. Its in here we'll be putting our manually made regions.
UTIL.startMiniDFSCluster(1);
// Create hdfs hbase rootdir.