[ 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)