[ https://issues.apache.org/jira/browse/HBASE-10292?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13865189#comment-13865189 ]
Anoop Sam John edited comment on HBASE-10292 at 1/8/14 8:14 AM: ---------------------------------------------------------------- Oh sorry for the confusion. I was not saying about retry in this test . What I was refering CoprocessorHost#handleCoprocessorThrowable {code} 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); 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 " + "coprocessor set.", e); } {code} Was wondering why we are not throwing back DNRIOE to client when RS also aborts. May be that is correct and intended. was (Author: anoop.hbase): Oh sorry for the confusion. I was not saying about retry in this test . What I was refering CoprocessorHost#handleCoprocessorThrowable {code} 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); 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 " + "coprocessor set.", e); } {code} Was wondering why we are not throwing back DNRIOE to client when RS also aborts. > TestRegionServerCoprocessorExceptionWithAbort fails occasionally > ---------------------------------------------------------------- > > Key: HBASE-10292 > URL: https://issues.apache.org/jira/browse/HBASE-10292 > Project: HBase > Issue Type: Bug > Affects Versions: 0.98.0 > Reporter: Andrew Purtell > Assignee: Andrew Purtell > Fix For: 0.98.0 > > Attachments: 10292.patch, 10292.patch > > > TestRegionServerCoprocessorExceptionWithAbort has occasionally failed for a > very long time now. Fix or disable. -- This message was sent by Atlassian JIRA (v6.1.5#6160)