Author: tedyu
Date: Sat Sep 24 14:46:29 2011
New Revision: 1175172
URL: http://svn.apache.org/viewvc?rev=1175172&view=rev
Log:
HBASE-4014 revert due to a failed test
Removed:
hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithAbort.java
hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithRemove.java
hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionServerCoprocessorExceptionWithAbort.java
hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionServerCoprocessorExceptionWithRemove.java
Modified:
hbase/trunk/CHANGES.txt
hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java
hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java
hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java
hbase/trunk/src/main/resources/hbase-default.xml
Modified: hbase/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hbase/trunk/CHANGES.txt?rev=1175172&r1=1175171&r2=1175172&view=diff
==============================================================================
--- hbase/trunk/CHANGES.txt (original)
+++ hbase/trunk/CHANGES.txt Sat Sep 24 14:46:29 2011
@@ -537,8 +537,6 @@ Release 0.92.0 - Unreleased
next() unless the next KV is needed
(Kannan Muthukkaruppan)
HBASE-4280 [replication] ReplicationSink can deadlock itself via handlers
- HBASE-4014 Coprocessors: Flag the presence of coprocessors in logged
- exceptions (Eugene Koontz)
TASKS
HBASE-3559 Move report of split to master OFF the heartbeat channel
Modified:
hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java
URL:
http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java?rev=1175172&r1=1175171&r2=1175172&view=diff
==============================================================================
---
hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java
(original)
+++
hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java
Sat Sep 24 14:46:29 2011
@@ -27,7 +27,6 @@ import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hbase.Coprocessor;
import org.apache.hadoop.hbase.CoprocessorEnvironment;
-import org.apache.hadoop.hbase.DoNotRetryIOException;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.client.*;
@@ -36,7 +35,6 @@ import org.apache.hadoop.hbase.ipc.Copro
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.SortedCopyOnWriteSet;
import org.apache.hadoop.hbase.util.VersionInfo;
-import org.apache.hadoop.hbase.Server;
import java.io.File;
import java.io.IOException;
@@ -73,12 +71,6 @@ public abstract class CoprocessorHost<E
pathPrefix = UUID.randomUUID().toString();
}
- private static Set<String> coprocessorNames =
- Collections.synchronizedSet(new HashSet<String>());
- public static Set<String> getLoadedCoprocessors() {
- return coprocessorNames;
- }
-
/**
* Load system coprocessors. Read the class names from configuration.
* Called by constructor.
@@ -164,7 +156,7 @@ public abstract class CoprocessorHost<E
// load the jar and get the implementation main class
String cp = System.getProperty("java.class.path");
// NOTE: Path.toURL is deprecated (toURI instead) but the URLClassLoader
- // unsurprisingly wants URLs, not URIs; so we will use the deprecated
+ // unsuprisingly wants URLs, not URIs; so we will use the deprecated
// method which returns URLs for as long as it is available
List<URL> paths = new ArrayList<URL>();
paths.add(new File(dst.toString()).getCanonicalFile().toURL());
@@ -221,9 +213,6 @@ public abstract class CoprocessorHost<E
if (env instanceof Environment) {
((Environment)env).startup();
}
- // HBASE-4014: maintain list of loaded coprocessors for later crash
analysis
- // if server (master or regionserver) aborts.
- coprocessorNames.add(implClass.getName());
return env;
}
@@ -587,65 +576,4 @@ public abstract class CoprocessorHost<E
return new HTableWrapper(tableName);
}
}
-
- protected void abortServer(final String service,
- final Server server,
- final CoprocessorEnvironment environment,
- final Throwable e) {
- String coprocessorName = (environment.getInstance()).toString();
- server.abort("Aborting service: " + service + " running on : "
- + server.getServerName() + " because coprocessor: "
- + coprocessorName + " threw an exception.", e);
- }
-
- protected void abortServer(final CoprocessorEnvironment environment,
- final Throwable e) {
- String coprocessorName = (environment.getInstance()).toString();
- LOG.error("The coprocessor: " + coprocessorName + " threw an unexpected " +
- "exception: " + e + ", but there's no specific implementation of " +
- " abortServer() for this coprocessor's environment.");
- }
-
-
- /**
- * This is used by coprocessor hooks which are declared to throw IOException
- * (or its subtypes). For such hooks, we should handle throwable objects
- * depending on the Throwable's type. Those which are instances of
- * IOException should be passed on to the client. This is in conformance with
- * the HBase idiom regarding IOException: that it represents a circumstance
- * that should be passed along to the client for its own handling. For
- * example, a coprocessor that implements access controls would throw a
- * subclass of IOException, such as AccessDeniedException, in its preGet()
- * method to prevent an unauthorized client's performing a Get on a
particular
- * table.
- * @param env Coprocessor Environment
- * @param e Throwable object thrown by coprocessor.
- * @exception IOException Exception
- */
- protected void handleCoprocessorThrowable(final CoprocessorEnvironment env,
- final Throwable e)
- throws IOException {
- if (e instanceof IOException) {
- throw (IOException)e;
- }
- // If we got here, e is not an IOException. A loaded coprocessor has a
- // fatal bug, and the server (master or regionserver) should remove the
- // faulty coprocessor from its set of active coprocessors. Setting
- // 'hbase.coprocessor.abortonerror' to true will cause abortServer(),
- // which may be useful in development and testing environments where
- // 'failing fast' for error analysis is desired.
- if
(env.getConfiguration().getBoolean("hbase.coprocessor.abortonerror",false)) {
- // server is configured to abort.
- abortServer(env, e);
- } else {
- LOG.error("Removing coprocessor '" + env.toString() + "' from " +
- "environment because it threw: " + e,e);
- coprocessors.remove(env);
- throw new DoNotRetryIOException("Coprocessor: '" + env.toString() +
- "' threw: '" + e + "' and has been removed" + "from the active " +
- "coprocessor set.", e);
- }
- }
}
-
-
Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
URL:
http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/HMaster.java?rev=1175172&r1=1175171&r2=1175172&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
(original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/HMaster.java Sat
Sep 24 14:46:29 2011
@@ -56,7 +56,6 @@ import org.apache.hadoop.hbase.client.Ge
import org.apache.hadoop.hbase.client.MetaScanner;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.MetaScanner.MetaScannerVisitor;
-import org.apache.hadoop.hbase.coprocessor.CoprocessorHost;
import org.apache.hadoop.hbase.executor.ExecutorService;
import org.apache.hadoop.hbase.executor.ExecutorService.ExecutorType;
import org.apache.hadoop.hbase.ipc.HBaseRPC;
@@ -1188,25 +1187,8 @@ implements HMasterInterface, HMasterRegi
return fileSystemManager.getClusterId();
}
- /**
- * The set of loaded coprocessors is stored in a static set. Since it's
- * statically allocated, it does not require that HMaster's cpHost be
- * initialized prior to accessing it.
- * @return a String representation of the set of names of the loaded
- * coprocessors.
- */
- public static String getLoadedCoprocessors() {
- return CoprocessorHost.getLoadedCoprocessors().toString();
- }
-
@Override
public void abort(final String msg, final Throwable t) {
- if (cpHost != null) {
- // HBASE-4014: dump a list of loaded coprocessors.
- LOG.fatal("Master server abort: loaded coprocessors are: " +
- getLoadedCoprocessors());
- }
-
if (abortNow(msg, t)) {
if (t != null) LOG.fatal(msg, t);
else LOG.fatal(msg);
Modified:
hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java
URL:
http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java?rev=1175172&r1=1175171&r2=1175172&view=diff
==============================================================================
---
hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java
(original)
+++
hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java
Sat Sep 24 14:46:29 2011
@@ -20,8 +20,6 @@
package org.apache.hadoop.hbase.master;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.*;
import org.apache.hadoop.hbase.coprocessor.*;
@@ -36,8 +34,6 @@ import java.io.IOException;
public class MasterCoprocessorHost
extends CoprocessorHost<MasterCoprocessorHost.MasterEnvironment> {
- private static final Log LOG =
LogFactory.getLog(MasterCoprocessorHost.class);
-
/**
* Coprocessor environment extension providing access to master related
* services.
@@ -73,11 +69,6 @@ public class MasterCoprocessorHost
masterServices);
}
- @Override
- protected void abortServer(final CoprocessorEnvironment env, final Throwable
e) {
- abortServer("master", masterServices, env, e);
- }
-
/* Implementation of hooks for invoking MasterObservers */
void preCreateTable(HTableDescriptor htd, HRegionInfo[] regions)
throws IOException {
@@ -85,11 +76,7 @@ public class MasterCoprocessorHost
for (MasterEnvironment env: coprocessors) {
if (env.getInstance() instanceof MasterObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((MasterObserver)env.getInstance()).preCreateTable(ctx, htd,
regions);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((MasterObserver)env.getInstance()).preCreateTable(ctx, htd, regions);
if (ctx.shouldComplete()) {
break;
}
@@ -103,11 +90,7 @@ public class MasterCoprocessorHost
for (MasterEnvironment env: coprocessors) {
if (env.getInstance() instanceof MasterObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((MasterObserver)env.getInstance()).postCreateTable(ctx, htd,
regions);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((MasterObserver)env.getInstance()).postCreateTable(ctx, htd, regions);
if (ctx.shouldComplete()) {
break;
}
@@ -120,11 +103,7 @@ public class MasterCoprocessorHost
for (MasterEnvironment env: coprocessors) {
if (env.getInstance() instanceof MasterObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((MasterObserver)env.getInstance()).preDeleteTable(ctx, tableName);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((MasterObserver)env.getInstance()).preDeleteTable(ctx, tableName);
if (ctx.shouldComplete()) {
break;
}
@@ -137,11 +116,7 @@ public class MasterCoprocessorHost
for (MasterEnvironment env: coprocessors) {
if (env.getInstance() instanceof MasterObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((MasterObserver)env.getInstance()).postDeleteTable(ctx, tableName);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((MasterObserver)env.getInstance()).postDeleteTable(ctx, tableName);
if (ctx.shouldComplete()) {
break;
}
@@ -155,12 +130,7 @@ public class MasterCoprocessorHost
for (MasterEnvironment env: coprocessors) {
if (env.getInstance() instanceof MasterObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((MasterObserver)env.getInstance()).preModifyTable(ctx, tableName,
- htd);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((MasterObserver)env.getInstance()).preModifyTable(ctx, tableName,
htd);
if (ctx.shouldComplete()) {
break;
}
@@ -174,12 +144,7 @@ public class MasterCoprocessorHost
for (MasterEnvironment env: coprocessors) {
if (env.getInstance() instanceof MasterObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((MasterObserver)env.getInstance()).postModifyTable(ctx, tableName,
- htd);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((MasterObserver)env.getInstance()).postModifyTable(ctx, tableName,
htd);
if (ctx.shouldComplete()) {
break;
}
@@ -194,11 +159,7 @@ public class MasterCoprocessorHost
for (MasterEnvironment env: coprocessors) {
if (env.getInstance() instanceof MasterObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((MasterObserver)env.getInstance()).preAddColumn(ctx, tableName,
column);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((MasterObserver)env.getInstance()).preAddColumn(ctx, tableName,
column);
bypass |= ctx.shouldBypass();
if (ctx.shouldComplete()) {
break;
@@ -214,12 +175,7 @@ public class MasterCoprocessorHost
for (MasterEnvironment env: coprocessors) {
if (env.getInstance() instanceof MasterObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((MasterObserver)env.getInstance()).postAddColumn(ctx, tableName,
- column);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((MasterObserver)env.getInstance()).postAddColumn(ctx, tableName,
column);
if (ctx.shouldComplete()) {
break;
}
@@ -234,12 +190,8 @@ public class MasterCoprocessorHost
for (MasterEnvironment env: coprocessors) {
if (env.getInstance() instanceof MasterObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((MasterObserver)env.getInstance()).preModifyColumn(
+ ((MasterObserver)env.getInstance()).preModifyColumn(
ctx, tableName, descriptor);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
bypass |= ctx.shouldBypass();
if (ctx.shouldComplete()) {
break;
@@ -255,12 +207,8 @@ public class MasterCoprocessorHost
for (MasterEnvironment env: coprocessors) {
if (env.getInstance() instanceof MasterObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((MasterObserver)env.getInstance()).postModifyColumn(
- ctx, tableName, descriptor);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((MasterObserver)env.getInstance()).postModifyColumn(
+ ctx, tableName, descriptor);
if (ctx.shouldComplete()) {
break;
}
@@ -275,11 +223,7 @@ public class MasterCoprocessorHost
for (MasterEnvironment env: coprocessors) {
if (env.getInstance() instanceof MasterObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((MasterObserver)env.getInstance()).preDeleteColumn(ctx, tableName,
c);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((MasterObserver)env.getInstance()).preDeleteColumn(ctx, tableName, c);
bypass |= ctx.shouldBypass();
if (ctx.shouldComplete()) {
break;
@@ -295,12 +239,7 @@ public class MasterCoprocessorHost
for (MasterEnvironment env: coprocessors) {
if (env.getInstance() instanceof MasterObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((MasterObserver)env.getInstance()).postDeleteColumn(ctx, tableName,
- c);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((MasterObserver)env.getInstance()).postDeleteColumn(ctx, tableName,
c);
if (ctx.shouldComplete()) {
break;
}
@@ -313,11 +252,7 @@ public class MasterCoprocessorHost
for (MasterEnvironment env: coprocessors) {
if (env.getInstance() instanceof MasterObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((MasterObserver)env.getInstance()).preEnableTable(ctx, tableName);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((MasterObserver)env.getInstance()).preEnableTable(ctx, tableName);
if (ctx.shouldComplete()) {
break;
}
@@ -330,11 +265,7 @@ public class MasterCoprocessorHost
for (MasterEnvironment env: coprocessors) {
if (env.getInstance() instanceof MasterObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((MasterObserver)env.getInstance()).postEnableTable(ctx, tableName);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((MasterObserver)env.getInstance()).postEnableTable(ctx, tableName);
if (ctx.shouldComplete()) {
break;
}
@@ -347,11 +278,7 @@ public class MasterCoprocessorHost
for (MasterEnvironment env: coprocessors) {
if (env.getInstance() instanceof MasterObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((MasterObserver)env.getInstance()).preDisableTable(ctx, tableName);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((MasterObserver)env.getInstance()).preDisableTable(ctx, tableName);
if (ctx.shouldComplete()) {
break;
}
@@ -364,11 +291,7 @@ public class MasterCoprocessorHost
for (MasterEnvironment env: coprocessors) {
if (env.getInstance() instanceof MasterObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((MasterObserver)env.getInstance()).postDisableTable(ctx, tableName);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((MasterObserver)env.getInstance()).postDisableTable(ctx, tableName);
if (ctx.shouldComplete()) {
break;
}
@@ -383,12 +306,8 @@ public class MasterCoprocessorHost
for (MasterEnvironment env: coprocessors) {
if (env.getInstance() instanceof MasterObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((MasterObserver)env.getInstance()).preMove(
- ctx, region, srcServer, destServer);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((MasterObserver)env.getInstance()).preMove(
+ ctx, region, srcServer, destServer);
bypass |= ctx.shouldBypass();
if (ctx.shouldComplete()) {
break;
@@ -404,12 +323,8 @@ public class MasterCoprocessorHost
for (MasterEnvironment env: coprocessors) {
if (env.getInstance() instanceof MasterObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((MasterObserver)env.getInstance()).postMove(
- ctx, region, srcServer, destServer);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((MasterObserver)env.getInstance()).postMove(
+ ctx, region, srcServer, destServer);
if (ctx.shouldComplete()) {
break;
}
@@ -423,11 +338,7 @@ public class MasterCoprocessorHost
for (MasterEnvironment env: coprocessors) {
if (env.getInstance() instanceof MasterObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((MasterObserver) env.getInstance()).preAssign(ctx, regionInfo);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((MasterObserver) env.getInstance()).preAssign(ctx, regionInfo);
bypass |= ctx.shouldBypass();
if (ctx.shouldComplete()) {
break;
@@ -442,11 +353,7 @@ public class MasterCoprocessorHost
for (MasterEnvironment env: coprocessors) {
if (env.getInstance() instanceof MasterObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((MasterObserver)env.getInstance()).postAssign(ctx, regionInfo);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((MasterObserver) env.getInstance()).postAssign(ctx, regionInfo);
if (ctx.shouldComplete()) {
break;
}
@@ -461,12 +368,8 @@ public class MasterCoprocessorHost
for (MasterEnvironment env: coprocessors) {
if (env.getInstance() instanceof MasterObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((MasterObserver)env.getInstance()).preUnassign(
- ctx, regionInfo, force);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((MasterObserver)env.getInstance()).preUnassign(
+ ctx, regionInfo, force);
bypass |= ctx.shouldBypass();
if (ctx.shouldComplete()) {
break;
@@ -482,12 +385,8 @@ public class MasterCoprocessorHost
for (MasterEnvironment env: coprocessors) {
if (env.getInstance() instanceof MasterObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((MasterObserver)env.getInstance()).postUnassign(
- ctx, regionInfo, force);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((MasterObserver)env.getInstance()).postUnassign(
+ ctx, regionInfo, force);
if (ctx.shouldComplete()) {
break;
}
@@ -501,11 +400,7 @@ public class MasterCoprocessorHost
for (MasterEnvironment env: coprocessors) {
if (env.getInstance() instanceof MasterObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((MasterObserver)env.getInstance()).preBalance(ctx);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((MasterObserver)env.getInstance()).preBalance(ctx);
bypass |= ctx.shouldBypass();
if (ctx.shouldComplete()) {
break;
@@ -520,11 +415,7 @@ public class MasterCoprocessorHost
for (MasterEnvironment env: coprocessors) {
if (env.getInstance() instanceof MasterObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((MasterObserver)env.getInstance()).postBalance(ctx);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((MasterObserver)env.getInstance()).postBalance(ctx);
if (ctx.shouldComplete()) {
break;
}
@@ -538,12 +429,8 @@ public class MasterCoprocessorHost
for (MasterEnvironment env: coprocessors) {
if (env.getInstance() instanceof MasterObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- balance = ((MasterObserver)env.getInstance()).preBalanceSwitch(
- ctx, balance);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ balance = ((MasterObserver)env.getInstance()).preBalanceSwitch(
+ ctx, balance);
if (ctx.shouldComplete()) {
break;
}
@@ -558,12 +445,8 @@ public class MasterCoprocessorHost
for (MasterEnvironment env: coprocessors) {
if (env.getInstance() instanceof MasterObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((MasterObserver)env.getInstance()).postBalanceSwitch(
- ctx, oldValue, newValue);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((MasterObserver)env.getInstance()).postBalanceSwitch(
+ ctx, oldValue, newValue);
if (ctx.shouldComplete()) {
break;
}
@@ -576,11 +459,7 @@ public class MasterCoprocessorHost
for (MasterEnvironment env: coprocessors) {
if (env.getInstance() instanceof MasterObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((MasterObserver)env.getInstance()).preShutdown(ctx);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((MasterObserver)env.getInstance()).preShutdown(ctx);
if (ctx.shouldComplete()) {
break;
}
@@ -593,11 +472,7 @@ public class MasterCoprocessorHost
for (MasterEnvironment env: coprocessors) {
if (env.getInstance() instanceof MasterObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((MasterObserver)env.getInstance()).preStopMaster(ctx);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((MasterObserver)env.getInstance()).preStopMaster(ctx);
if (ctx.shouldComplete()) {
break;
}
@@ -610,11 +485,7 @@ public class MasterCoprocessorHost
for (MasterEnvironment env: coprocessors) {
if (env.getInstance() instanceof MasterObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((MasterObserver)env.getInstance()).postStartMaster(ctx);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((MasterObserver)env.getInstance()).postStartMaster(ctx);
if (ctx.shouldComplete()) {
break;
}
Modified:
hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
URL:
http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java?rev=1175172&r1=1175171&r2=1175172&view=diff
==============================================================================
---
hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
(original)
+++
hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
Sat Sep 24 14:46:29 2011
@@ -92,7 +92,6 @@ import org.apache.hadoop.hbase.client.Ro
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.client.coprocessor.Exec;
import org.apache.hadoop.hbase.client.coprocessor.ExecResult;
-import org.apache.hadoop.hbase.coprocessor.CoprocessorHost;
import org.apache.hadoop.hbase.executor.ExecutorService;
import org.apache.hadoop.hbase.executor.ExecutorService.ExecutorType;
import org.apache.hadoop.hbase.filter.BinaryComparator;
@@ -618,7 +617,7 @@ public class HRegionServer implements HR
try {
// Try and register with the Master; tell it we are here. Break if
- // server is stopped or the clusterup flag is down or hdfs went wacky.
+ // server is stopped or the clusterup flag is down of hdfs went wacky.
while (keepLooping()) {
MapWritable w = reportForDuty();
if (w == null) {
@@ -1507,11 +1506,6 @@ public class HRegionServer implements HR
}
this.abortRequested = true;
this.reservedSpace.clear();
- // HBASE-4014: show list of coprocessors that were loaded to help debug
- // regionserver crashes.Note that we're implicitly using
- // java.util.HashSet's toString() method to print the coprocessor names.
- LOG.fatal("RegionServer abort: loaded coprocessors are: " +
- CoprocessorHost.getLoadedCoprocessors());
if (this.metrics != null) {
LOG.info("Dump of metrics: " + this.metrics);
}
Modified:
hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java
URL:
http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java?rev=1175172&r1=1175171&r2=1175172&view=diff
==============================================================================
---
hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java
(original)
+++
hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java
Sat Sep 24 14:46:29 2011
@@ -31,7 +31,6 @@ import org.apache.hadoop.hbase.HRegionIn
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.Coprocessor;
-import org.apache.hadoop.hbase.CoprocessorEnvironment;
import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.coprocessor.*;
@@ -197,33 +196,6 @@ public class RegionCoprocessorHost
rsServices);
}
- @Override
- protected void abortServer(final CoprocessorEnvironment env, final Throwable
e) {
- abortServer("regionserver", rsServices, env, e);
- }
-
- /**
- * HBASE-4014 : This is used by coprocessor hooks which are not declared to
throw exceptions.
- *
- * For example, {@link
- * org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost#preOpen()} and
- * {@link
org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost#postOpen()} are such
hooks.
- *
- * See also {@link
org.apache.hadoop.hbase.master.MasterCoprocessorHost#handleCoprocessorThrowable()}
- * @param env: The coprocessor that threw the exception.
- * @param e: The exception that was thrown.
- */
- private void handleCoprocessorThrowableNoRethrow(
- final CoprocessorEnvironment env, final Throwable e) {
- try {
- handleCoprocessorThrowable(env,e);
- } catch (IOException ioe) {
- // We cannot throw exceptions from the caller hook, so ignore.
- LOG.warn("handleCoprocessorThrowable() threw an IOException while
attempting to handle Throwable " + e
- + ". Ignoring.",e);
- }
- }
-
/**
* Invoked before a region open
*/
@@ -232,11 +204,7 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((RegionObserver)env.getInstance()).preOpen(ctx);
- } catch (Throwable e) {
- handleCoprocessorThrowableNoRethrow(env, e);
- }
+ ((RegionObserver)env.getInstance()).preOpen(ctx);
if (ctx.shouldComplete()) {
break;
}
@@ -252,11 +220,7 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((RegionObserver)env.getInstance()).postOpen(ctx);
- } catch (Throwable e) {
- handleCoprocessorThrowableNoRethrow(env, e);
- }
+ ((RegionObserver)env.getInstance()).postOpen(ctx);
if (ctx.shouldComplete()) {
break;
}
@@ -273,11 +237,7 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((RegionObserver)env.getInstance()).preClose(ctx, abortRequested);
- } catch (Throwable e) {
- handleCoprocessorThrowableNoRethrow(env, e);
- }
+ ((RegionObserver)env.getInstance()).preClose(ctx, abortRequested);
}
}
}
@@ -291,12 +251,7 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((RegionObserver)env.getInstance()).postClose(ctx, abortRequested);
- } catch (Throwable e) {
- handleCoprocessorThrowableNoRethrow(env, e);
- }
-
+ ((RegionObserver)env.getInstance()).postClose(ctx, abortRequested);
}
shutdown(env);
}
@@ -338,12 +293,8 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((RegionObserver)env.getInstance()).postCompactSelection(
- ctx, store, selected);
- } catch (Throwable e) {
- handleCoprocessorThrowableNoRethrow(env,e);
- }
+ ((RegionObserver)env.getInstance()).postCompactSelection(
+ ctx, store, selected);
if (ctx.shouldComplete()) {
break;
}
@@ -362,12 +313,8 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- scanner = ((RegionObserver)env.getInstance()).preCompact(
- ctx, store, scanner);
- } catch (Throwable e) {
- handleCoprocessorThrowableNoRethrow(env,e);
- }
+ scanner = ((RegionObserver)env.getInstance()).preCompact(
+ ctx, store, scanner);
bypass |= ctx.shouldBypass();
if (ctx.shouldComplete()) {
break;
@@ -387,11 +334,7 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((RegionObserver)env.getInstance()).postCompact(ctx, store,
resultFile);
- } catch (Throwable e) {
- handleCoprocessorThrowableNoRethrow(env, e);
- }
+ ((RegionObserver)env.getInstance()).postCompact(ctx, store,
resultFile);
if (ctx.shouldComplete()) {
break;
}
@@ -407,11 +350,7 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((RegionObserver)env.getInstance()).preFlush(ctx);
- } catch (Throwable e) {
- handleCoprocessorThrowableNoRethrow(env, e);
- }
+ ((RegionObserver)env.getInstance()).preFlush(ctx);
if (ctx.shouldComplete()) {
break;
}
@@ -427,11 +366,7 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((RegionObserver)env.getInstance()).postFlush(ctx);
- } catch (Throwable e) {
- handleCoprocessorThrowableNoRethrow(env, e);
- }
+ ((RegionObserver)env.getInstance()).postFlush(ctx);
if (ctx.shouldComplete()) {
break;
}
@@ -447,11 +382,7 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((RegionObserver)env.getInstance()).preSplit(ctx);
- } catch (Throwable e) {
- handleCoprocessorThrowableNoRethrow(env, e);
- }
+ ((RegionObserver)env.getInstance()).preSplit(ctx);
if (ctx.shouldComplete()) {
break;
}
@@ -469,11 +400,7 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((RegionObserver)env.getInstance()).postSplit(ctx, l, r);
- } catch (Throwable e) {
- handleCoprocessorThrowableNoRethrow(env, e);
- }
+ ((RegionObserver)env.getInstance()).postSplit(ctx, l, r);
if (ctx.shouldComplete()) {
break;
}
@@ -497,12 +424,8 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((RegionObserver)env.getInstance()).preGetClosestRowBefore(ctx, row,
- family, result);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((RegionObserver)env.getInstance()).preGetClosestRowBefore(ctx, row,
family,
+ result);
bypass |= ctx.shouldBypass();
if (ctx.shouldComplete()) {
break;
@@ -524,12 +447,8 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((RegionObserver)env.getInstance()).postGetClosestRowBefore(ctx, row,
- family, result);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((RegionObserver)env.getInstance()).postGetClosestRowBefore(ctx, row,
family,
+ result);
if (ctx.shouldComplete()) {
break;
}
@@ -549,11 +468,7 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((RegionObserver)env.getInstance()).preGet(ctx, get, results);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((RegionObserver)env.getInstance()).preGet(ctx, get, results);
bypass |= ctx.shouldBypass();
if (ctx.shouldComplete()) {
break;
@@ -575,11 +490,7 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((RegionObserver)env.getInstance()).postGet(ctx, get, results);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((RegionObserver)env.getInstance()).postGet(ctx, get, results);
if (ctx.shouldComplete()) {
break;
}
@@ -600,11 +511,7 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- exists = ((RegionObserver)env.getInstance()).preExists(ctx, get,
exists);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ exists = ((RegionObserver)env.getInstance()).preExists(ctx, get,
exists);
bypass |= ctx.shouldBypass();
if (ctx.shouldComplete()) {
break;
@@ -626,11 +533,7 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- exists = ((RegionObserver)env.getInstance()).postExists(ctx, get,
exists);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ exists = ((RegionObserver)env.getInstance()).postExists(ctx, get,
exists);
if (ctx.shouldComplete()) {
break;
}
@@ -652,11 +555,7 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((RegionObserver)env.getInstance()).prePut(ctx, familyMap,
writeToWAL);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((RegionObserver)env.getInstance()).prePut(ctx, familyMap, writeToWAL);
bypass |= ctx.shouldBypass();
if (ctx.shouldComplete()) {
break;
@@ -677,11 +576,7 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((RegionObserver)env.getInstance()).postPut(ctx, familyMap,
writeToWAL);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((RegionObserver)env.getInstance()).postPut(ctx, familyMap,
writeToWAL);
if (ctx.shouldComplete()) {
break;
}
@@ -702,11 +597,7 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((RegionObserver)env.getInstance()).preDelete(ctx, familyMap,
writeToWAL);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((RegionObserver)env.getInstance()).preDelete(ctx, familyMap,
writeToWAL);
bypass |= ctx.shouldBypass();
if (ctx.shouldComplete()) {
break;
@@ -727,11 +618,7 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((RegionObserver)env.getInstance()).postDelete(ctx, familyMap,
writeToWAL);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((RegionObserver)env.getInstance()).postDelete(ctx, familyMap,
writeToWAL);
if (ctx.shouldComplete()) {
break;
}
@@ -760,14 +647,8 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- result = ((RegionObserver)env.getInstance()).preCheckAndPut(ctx,
row, family,
- qualifier, compareOp, comparator, put, result);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
-
-
+ result = ((RegionObserver)env.getInstance()).preCheckAndPut(ctx, row,
family,
+ qualifier, compareOp, comparator, put, result);
bypass |= ctx.shouldBypass();
if (ctx.shouldComplete()) {
break;
@@ -795,12 +676,8 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- result = ((RegionObserver)env.getInstance()).postCheckAndPut(ctx,
row,
- family, qualifier, compareOp, comparator, put, result);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ result = ((RegionObserver)env.getInstance()).postCheckAndPut(ctx, row,
+ family, qualifier, compareOp, comparator, put, result);
if (ctx.shouldComplete()) {
break;
}
@@ -830,12 +707,8 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- result = ((RegionObserver)env.getInstance()).preCheckAndDelete(ctx,
row,
- family, qualifier, compareOp, comparator, delete, result);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ result = ((RegionObserver)env.getInstance()).preCheckAndDelete(ctx,
row,
+ family, qualifier, compareOp, comparator, delete, result);
bypass |= ctx.shouldBypass();
if (ctx.shouldComplete()) {
break;
@@ -863,13 +736,9 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- result = ((RegionObserver)env.getInstance())
- .postCheckAndDelete(ctx, row, family, qualifier, compareOp,
- comparator, delete, result);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ result = ((RegionObserver)env.getInstance())
+ .postCheckAndDelete(ctx, row, family, qualifier, compareOp,
+ comparator, delete, result);
if (ctx.shouldComplete()) {
break;
}
@@ -896,12 +765,8 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- amount =
((RegionObserver)env.getInstance()).preIncrementColumnValue(ctx,
- row, family, qualifier, amount, writeToWAL);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ amount =
((RegionObserver)env.getInstance()).preIncrementColumnValue(ctx,
+ row, family, qualifier, amount, writeToWAL);
bypass |= ctx.shouldBypass();
if (ctx.shouldComplete()) {
break;
@@ -928,12 +793,8 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- result =
((RegionObserver)env.getInstance()).postIncrementColumnValue(ctx,
- row, family, qualifier, amount, writeToWAL, result);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ result =
((RegionObserver)env.getInstance()).postIncrementColumnValue(ctx,
+ row, family, qualifier, amount, writeToWAL, result);
if (ctx.shouldComplete()) {
break;
}
@@ -956,11 +817,7 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((RegionObserver)env.getInstance()).preIncrement(ctx, increment,
result);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((RegionObserver)env.getInstance()).preIncrement(ctx, increment,
result);
bypass |= ctx.shouldBypass();
if (ctx.shouldComplete()) {
break;
@@ -981,11 +838,7 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((RegionObserver)env.getInstance()).postIncrement(ctx, increment,
result);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((RegionObserver)env.getInstance()).postIncrement(ctx, increment,
result);
if (ctx.shouldComplete()) {
break;
}
@@ -1006,11 +859,7 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- s = ((RegionObserver)env.getInstance()).preScannerOpen(ctx, scan, s);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ s = ((RegionObserver)env.getInstance()).preScannerOpen(ctx, scan, s);
bypass |= ctx.shouldBypass();
if (ctx.shouldComplete()) {
break;
@@ -1032,11 +881,7 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- s = ((RegionObserver)env.getInstance()).postScannerOpen(ctx, scan,
s);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ s = ((RegionObserver)env.getInstance()).postScannerOpen(ctx, scan, s);
if (ctx.shouldComplete()) {
break;
}
@@ -1061,12 +906,8 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- hasNext = ((RegionObserver)env.getInstance()).preScannerNext(ctx, s,
results,
- limit, hasNext);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ hasNext = ((RegionObserver)env.getInstance()).preScannerNext(ctx, s,
results,
+ limit, hasNext);
bypass |= ctx.shouldBypass();
if (ctx.shouldComplete()) {
break;
@@ -1091,12 +932,8 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- hasMore = ((RegionObserver)env.getInstance()).postScannerNext(ctx, s,
- results, limit, hasMore);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ hasMore = ((RegionObserver)env.getInstance()).postScannerNext(ctx, s,
+ results, limit, hasMore);
if (ctx.shouldComplete()) {
break;
}
@@ -1117,11 +954,7 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((RegionObserver)env.getInstance()).preScannerClose(ctx, s);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((RegionObserver)env.getInstance()).preScannerClose(ctx, s);
bypass |= ctx.shouldBypass();
if (ctx.shouldComplete()) {
break;
@@ -1141,11 +974,7 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((RegionObserver)env.getInstance()).postScannerClose(ctx, s);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((RegionObserver)env.getInstance()).postScannerClose(ctx, s);
if (ctx.shouldComplete()) {
break;
}
@@ -1167,17 +996,14 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((RegionObserver)env.getInstance()).preWALRestore(ctx, info, logKey,
- logEdit);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((RegionObserver)env.getInstance()).preWALRestore(ctx, info, logKey,
+ logEdit);
bypass |= ctx.shouldBypass();
if (ctx.shouldComplete()) {
break;
}
}
+
}
return bypass;
}
@@ -1194,16 +1020,13 @@ public class RegionCoprocessorHost
for (RegionEnvironment env: coprocessors) {
if (env.getInstance() instanceof RegionObserver) {
ctx = ObserverContext.createAndPrepare(env, ctx);
- try {
- ((RegionObserver)env.getInstance()).postWALRestore(ctx, info,
- logKey, logEdit);
- } catch (Throwable e) {
- handleCoprocessorThrowable(env, e);
- }
+ ((RegionObserver)env.getInstance()).postWALRestore(ctx, info,
+ logKey, logEdit);
if (ctx.shouldComplete()) {
break;
}
}
+
}
}
}
Modified: hbase/trunk/src/main/resources/hbase-default.xml
URL:
http://svn.apache.org/viewvc/hbase/trunk/src/main/resources/hbase-default.xml?rev=1175172&r1=1175171&r2=1175172&view=diff
==============================================================================
--- hbase/trunk/src/main/resources/hbase-default.xml (original)
+++ hbase/trunk/src/main/resources/hbase-default.xml Sat Sep 24 14:46:29 2011
@@ -725,15 +725,4 @@
version is X.X.X-SNAPSHOT"
</description>
</property>
- <property>
- <name>hbase.coprocessor.abortonerror</name>
- <value>false</value>
- <description>
- Set to true to cause the hosting server (master or regionserver) to
- abort if a coprocessor throws a Throwable object that is not IOException
or
- a subclass of IOException. Setting it to true might be useful in
development
- environments where one wants to terminate the server as soon as possible
to
- simplify coprocessor failure analysis.
- </description>
- </property>
</configuration>