diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java index 8315eed..5cbb17a 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java @@ -779,8 +779,14 @@ public abstract class CoprocessorHost { LOG.error("Removing coprocessor '" + env.toString() + "' from " + "environment because it threw: " + e,e); coprocessors.remove(env); + try { + shutdown(env); + } catch (Exception x) { + LOG.error("Uncaught exception when shutting down coprocessor '" + + env.toString() + "'", x); + } throw new DoNotRetryIOException("Coprocessor: '" + env.toString() + - "' threw: '" + e + "' and has been removed" + "from the active " + + "' threw: '" + e + "' and has been removed from the active " + "coprocessor set.", e); } }