[ https://issues.apache.org/jira/browse/HBASE-3257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12989363#comment-12989363 ]
Mingjie Lai commented on HBASE-3257: ------------------------------------ Patch was put to review board, but it's not forwarded to jira. Here is the review request: https://review.cloudera.org/r/1515/ Summary: Coprocessors: Extend server side integration API to include HLog operations Coprocessor based extensions should be able to: - Observe, rewrite, or skip WALEdits as they are being written to the WAL - Write arbitrary content into WALEdits - Act on contents of WALEdits in the regionserver context during reconstruction Code changes: - a new coprocessor interface WALCPObserver is added which provides preWALWrite() and postWALWrite() upcalls to HLog, before and after HLog.write.append(), at doWrite(). - added 2 new upcalls for RegionObserver for WAL replay, preWALRestore() and postWALRestore(). - a sample implementation -- SampleRegionWALObserver -- was create which can add, remove, modify WALEdit before writing it to WAL. - test cases which use SampleRegionWALObserver to test WAL write and replay. - added coprocessor loading at TestHLog to make sure it doesn't affect HLog. I need feedback for: - The new cp interface name -- WALCPObserver -- is not perfect. The ideal name is WALObserver but it's been used already. Other options include HLogObserver(H is not preferred), LogObserver(confusion). - No support for monitor master log splitting. I don't have a use case to support the requirement right now. > Coprocessors: Extend server side integration API to include HLog operations > --------------------------------------------------------------------------- > > Key: HBASE-3257 > URL: https://issues.apache.org/jira/browse/HBASE-3257 > Project: HBase > Issue Type: Sub-task > Components: coprocessors > Reporter: Andrew Purtell > Assignee: Mingjie Lai > Fix For: 0.92.0 > > > Coprocessor based extensions should be able to: > * Observe, rewrite, or skip WALEdits as they are being written to the WAL > * Write arbitrary content into WALEdits > * Act on contents of WALEdits in the regionserver context during > reconstruction > (update: remove WALEdit monitoring at master split. No need to use scope to > control the behavior here, since it could be done by a coprocessor > implementation.) -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira