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

Duo Zhang commented on HBASE-22623:
-----------------------------------

Two problems:

1. Why not just use the old preWALWrite method? Althrough it is marked as 
deprecated, we will not remove it unless we find an alternate method which can 
do almost the same thing. The new preWALAppend is almost the same with 
preWALWrite, just with a different method name.

2. I thought you guys just want to add some attributes to WALKey, although I 
still have some concerns but at least, I do not think adding extended 
atrributes will break critical assumptions. Then why here we changed the topic 
to amending the WALEdit? What is the usage? IIRC, in another issue, Stack and I 
suggest that you could use META_FAMILY without adding new attributes to WALKey 
but you guys refused? Then what's going on here? I'm a bit confused.

And what's more, adding cells to WALEdit but no memstore is a no no. After 
replication, the data will be replicated to peer cluster, with the cells not in 
memstore but in WALEdit, and also, when replaying, you will see the cells in 
WALEdit but not in memstore. That means, you have to intercept the put/delete 
operations, both in the normal write path and the fail recovery path, then why 
not put all the logic there, instead of implementing a sperated logic at the 
WAL layer? This does not make sense...

> Add RegionObserver coprocessor hook for preWALAppend
> ----------------------------------------------------
>
>                 Key: HBASE-22623
>                 URL: https://issues.apache.org/jira/browse/HBASE-22623
>             Project: HBase
>          Issue Type: New Feature
>            Reporter: Geoffrey Jacoby
>            Assignee: Geoffrey Jacoby
>            Priority: Major
>             Fix For: 3.0.0, 1.5.0, 2.3.0
>
>
> While many coprocessor hooks expose the WALEdit to implementing coprocs, 
> there aren't any that expose the WALKey before it's created and added to the 
> WALEntry. 
> It's sometimes useful for coprocessors to be able to edit the WALKey, for 
> example to add extended attributes using the fields to be added in 
> HBASE-22622. 



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to