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

Andrew Purtell commented on HBASE-22622:
----------------------------------------

{quote}So now we have a Scan with both the appropriate table, projected 
columns, and Filters.
{quote}
This is a great point and the crux of the matter. Phoenix views are projected 
columns over an HBase base table. HBase doesn't know anything about these 
projected columns, nor should it, so in contexts like replication where the 
object and interfaces design is HBase-only, we need to import some additional 
context. In replication, we have only WALentry, WALkey, and WALedit.

WALentry can be annotated with in-memory structures but they won't be 
serialized and shipped to a remote replication context.

WALedit is just a bunch of cells. We can make synthetic cells or add cell tags 
but with side effect this information is persisted to table storage (which we 
neither need nor desire).

WALkey is protobufed, extensible, serialized, and not persisted to the table. 
Seems relatively ideal given other options.

> WALKey Extended Attributes
> --------------------------
>
>                 Key: HBASE-22622
>                 URL: https://issues.apache.org/jira/browse/HBASE-22622
>             Project: HBase
>          Issue Type: New Feature
>          Components: wal
>            Reporter: Geoffrey Jacoby
>            Assignee: Geoffrey Jacoby
>            Priority: Major
>
> It would be useful if the WAL protobuf and WALKey class included an optional 
> map of extended key/value attributes that downstream coprocessors could use 
> to annotate WAL Entries. While standard HBase replication would not use them, 
> custom replication endpoints could use the data to make filtering decisions 
> or take actions.
> An example use case would be allowing a tool like Phoenix to annotate 
> WAL.Entries to indicate that a given Entry is associated with a particular 
> Phoenix view rather than the base Phoenix table. (Multiple logical views in 
> Phoenix can map to the same physical HBase table.) A custom replication 
> endpoint might choose to replicate some views but not others. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to