[
https://issues.apache.org/jira/browse/PHOENIX-4229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16193593#comment-16193593
]
Geoffrey Jacoby commented on PHOENIX-4229:
------------------------------------------
Thanks, [~jamestaylor], that's really helpful.
I'm not trying to create new cells in the SystemCatalogWALEntryFilter and add
them to the WALEdit to be replicated -- that seems risky since those synthetic
cells wouldn't exist in any WAL.
HBase replication is giving me a collection of all Cells written to
System.Catalog on cluster A. For each Cell, I need to make an independent
judgement about whether it's a part of a tenant view's metadata or not. If it
is, it gets replicated to cluster B. The rest don't.
Every row in the original tenant view definition has the tenant_id in the first
column of the PK, so I can evaluate each Cell individually and make that call.
What makes the parent - child link trickier is that here, the criteria is based
on a column qualifier, not the row key, and there are *two* Cells that need to
be replicated (LINK_TYPE and PARENT_TENANT_ID, according to the MetadataClient
upsert you mention).
Do all parent/child view links have the same LINK_TYPE that is used only for
parent/child view links?
> 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
> Assignee: 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)