[
https://issues.apache.org/jira/browse/PHOENIX-4229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16181577#comment-16181577
]
Geoffrey Jacoby commented on PHOENIX-4229:
------------------------------------------
[~jamestaylor] - That's at best tricky to get right. What's the exact format of
the forward pointer, and can it be readily distinguished from other
non-tenanted rows by its rowkey?
Replication has to make a call about whether to replicate or not based on the
table, row key, column family, and column qualifier of an edit. It has the
values too, but no notion of holistically viewing several Cells in a WALEdit
with the same rowkey as a row -- this is HBase level, not Phoenix. A WALEdit
might contain multiple Cells, but there's no guarantee that they come from the
same row, and, given that Phoenix splits batches up, no guarantee that all
Cells of a changing row will be in the same WALEdit, right?
Before the forward pointers were added, the logic was very simple: if the
tenant-id field of the System.Catalog row key was non-zero, the edit
replicates, and if it's not, it isn't.
> Parent-Child linking rows in System.Catalog break tenant view replication
> -------------------------------------------------------------------------
>
> Key: PHOENIX-4229
> URL: https://issues.apache.org/jira/browse/PHOENIX-4229
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 4.11.0, 4.12.0
> Reporter: Geoffrey Jacoby
>
> PHOENIX-2051 introduced new Parent-Child linking rows to System.Catalog that
> speed up view deletion. Unfortunately, this breaks assumptions in
> PHOENIX-3639, which gives a way to replicate tenant views from one cluster to
> another. (It assumes that all the metadata for a tenant view is owned by the
> tenant -- the linking rows are not.)
> PHOENIX-3639 was a workaround in the first place to the more fundamental
> design problem that Phoenix places the metadata for both table schemas --
> which should never be replicated -- in the same table and column family as
> the metadata for tenant views, which should be replicated.
> Note that the linking rows also make it more difficult to ever split these
> two datasets apart, as proposed in PHOENIX-3520.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)