[ 
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)

Reply via email to