[ 
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

        

Reply via email to