[ https://issues.apache.org/jira/browse/HBASE-4014?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13092019#comment-13092019 ]
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-08-26 20:41:07.342851) Review request for hbase, Gary Helmling and Mingjie Lai. Changes ------- Address Gary's comments on review board: -remove misbehaving coprocessors from coprocessors set. -add and use hbase.cprocessor.abort_on_error flag. -set hbase.coprocessor.abort_on_error to true for tests. -document usage of hbase.coprocessor.abort_on_error in hbase-default.xml (defaults to false). -using synchronizedSet for coprocessorNames. -move body of addToLoadedCPs to loadInstance(). Also: -simplify implementation and improve documentation of special-purpose handleThrowableXX() methods in MasterCoprocessorHost and RegionCoprocessorHost() 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 7a3ac1d src/main/java/org/apache/hadoop/hbase/master/HMaster.java 92d5dbb src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java aa930f5 src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 58f0350 src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java 53645ce src/main/resources/hbase-default.xml 2c8f44b src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterCoprocessorException.java PRE-CREATION src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionServerCoprocessorException.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