[
https://issues.apache.org/jira/browse/HBASE-3257?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mingjie Lai updated HBASE-3257:
-------------------------------
Description:
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.)
was:
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 master context when splitting
* Act on contents of WALEdits in the regionserver context during reconstruction
One idea we had regards how CPs injecting arbitrary content into the WAL can
play nicely with the master and replication is as follows: For replication we
have already introduced the concept of scoping for WAL edits. This is expressed
as an integer. Currently if scope=0, then the WALEdit is processed by the
master and regionserver but not replicated; and if scope=1, then the edit is
processed *and* replicated. We can change the semantics slightly to:
* If scope=0, the edit is split by the master into reconstruction logs but
ignored by the base regionserver logic (_ignore scope_)
* If scope=1, the edit is processed by master and regionserver as normal
(_default scope_)
* If scope=2, the edit is processed and replicated (_replication scope_)
Then CPs can stuff arbitrary KVs into a WALEdit, set scope=0, and pick up
whatever was stored on the other side of reconstruction, but otherwise the data
is simply passed through everywhere.
> 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