[
https://issues.apache.org/jira/browse/PHOENIX-6126?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Viraj Jasani reassigned PHOENIX-6126:
-------------------------------------
Assignee: Viraj Jasani
> All createViewAddChildLink requests will go to the same region of
> SYSTEM.CHILD_LINK
> -----------------------------------------------------------------------------------
>
> Key: PHOENIX-6126
> URL: https://issues.apache.org/jira/browse/PHOENIX-6126
> Project: Phoenix
> Issue Type: Improvement
> Affects Versions: 5.0.0, 4.15.0
> Reporter: Chinmay Kulkarni
> Assignee: Viraj Jasani
> Priority: Minor
> Fix For: 5.1.0, 4.16.0
>
>
> Currently, since there is no split policy defined for SYSTEM.CHILD_LINK, it
> can split by default.
> If SYSTEM.CHILD_LINK does split, then when the client invokes
> ConnectionQueryServices.childLinkMetaDataCoprocessorExec(), we always invoke
> the endpoint on the first region that contains linking rows for that parent
> (see
> [this|https://github.com/apache/phoenix/blob/e3c7b4bdce2524eb4fd1e7eb0ccd3454fcca81ce/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java#L1629]).
>
> Thus, no matter which region would actually contain the parent→child link,
> the first region is the one that has to always service the request and its RS
> finally issues the mutation to the correct region. Note that the
> mutateRowsWithLocks() call inside
> [ChildLinkMetaDataEndpoint.createViewAddChildLink()|https://github.com/apache/phoenix/blob/e3c7b4bdce2524eb4fd1e7eb0ccd3454fcca81ce/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/ChildLinkMetaDataEndpoint.java#L105]
> doesn’t fail even if the region doesn’t contain that row since we pass in an
> empty list for rowsToLock.
> During view creation, this request will lead to a Put of just 1 row and we
> have all the information to be able to pass in the exact row key instead of
> just the prefix (parent tenantId, parent schema, parent name). This should
> distribute load to all regions of SYSTEM.CHILD_LINK.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)