[ 
https://issues.apache.org/jira/browse/HBASE-4014?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13109086#comment-13109086
 ] 

jirapos...@reviews.apache.org commented on HBASE-4014:
------------------------------------------------------


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/969/
-----------------------------------------------------------

(Updated 2011-09-20 23:33:04.074472)


Review request for hbase, Gary Helmling and Mingjie Lai.


Changes
-------

-Address Gary's last review:
 -Set hbase.coprocessor.abortonerror defaults to false.
 -Remove separate threads in tests where possible.
 -Remove redundant testStarted() : it does not differ from the same test in 
TestMasterObserver.
 -fix name of test

-Simplified patch as allowed by Gary's committal of HBASE-4420: 
MasterObserver's preMove() and postMove() are now declared to 
throw an IOException now.

-Split existing two tests: TestRegionServerCoprocessorException.java and 
TestMasterCoprocessorException.java each into two tests to test new 
configuration setting of hbase.coprocessor.abortonerror, so four total tests 
now:

1. TestRegionServerCoprocessorExceptionWithAbort.java  
(hbase.coprocessor.abortonerror=true)
2. TestRegionServerCoprocessorExceptionWithRemove.java 
(hbase.coprocessor.abortonerror=false)
3. TestRegionServerCoprocessorExceptionWithAbort.java  
(hbase.coprocessor.abortonerror=true)
4. TestRegionServerCoprocessorExceptionWithRemove.java 
(hbase.coprocessor.abortonerror=false)


Summary
-------

https://issues.apache.org/jira/browse/HBASE-4014 Coprocessors: Flag the 
presence of coprocessors in logged exceptions

The general gist here is to wrap each of {Master,RegionServer}CoprocessorHost's 
coprocessor call inside a 

"try { ... } catch (Throwable e) { handleCoprocessorThrowable(e) }"

block. 

handleCoprocessorThrowable() is responsible for either passing 'e' along to the 
client (if 'e' is an IOException) or, otherwise, aborting the service 
(Regionserver or Master).

The abort message contains a list of the loaded coprocessors for crash analysis.


This addresses bug HBASE-4014.
    https://issues.apache.org/jira/browse/HBASE-4014


Diffs (updated)
-----

  src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java 
4e492e1 
  src/main/java/org/apache/hadoop/hbase/master/HMaster.java 06bf814 
  src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java 
0c95017 
  src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java bff1f6c 
  src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java 
a6cf6a8 
  src/main/resources/hbase-default.xml 2c8f44b 
  
src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithAbort.java
 PRE-CREATION 
  
src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorExceptionWithRemove.java
 PRE-CREATION 
  
src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionServerCoprocessorExceptionWithAbort.java
 PRE-CREATION 
  
src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionServerCoprocessorExceptionWithRemove.java
 PRE-CREATION 

Diff: https://reviews.apache.org/r/969/diff


Testing
-------

patch includes two tests:

TestMasterCoprocessorException.java
TestRegionServerCoprocessorException.java

both tests pass in my build environment.


Thanks,

Eugene



> Coprocessors: Flag the presence of coprocessors in logged exceptions
> --------------------------------------------------------------------
>
>                 Key: HBASE-4014
>                 URL: https://issues.apache.org/jira/browse/HBASE-4014
>             Project: HBase
>          Issue Type: Improvement
>          Components: coprocessors
>            Reporter: Andrew Purtell
>            Assignee: Eugene Koontz
>             Fix For: 0.92.0
>
>         Attachments: HBASE-4014.patch, HBASE-4014.patch, HBASE-4014.patch, 
> HBASE-4014.patch, HBASE-4014.patch
>
>
> For some initial triage of bug reports for core versus for deployments with 
> loaded coprocessors, we need something like the Linux kernel's taint flag, 
> and list of linked in modules that show up in the output of every OOPS, to 
> appear above or below exceptions that appear in the logs.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to