[ https://issues.apache.org/jira/browse/PHOENIX-6860?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17680070#comment-17680070 ]
Kadir Ozdemir commented on PHOENIX-6860: ---------------------------------------- [~tkhurana], CREATE and UPSERT are different statements. So, having a separate get table call to MetadataRegionObserver, one for the CREATE statement and the other for UPSERT, is expected. I investigated this further and noticed that when auto commit is set to true, the Phoenix client calls ConnectionQueryServicesImpl#getTable() for each batch of an UPSERT SELECT statement. When the batch API (addBatch and executeBatch) is used and auto commit is set to true, the Phoenix client calls ConnectionQueryServicesImpl#getTable() for each row written to the same table within a batch. I think we should fix the UPSERT SELECT case here as UPSERT SELECT is usually used within an auto-commit connection. The UPSERT case should be fixed in PHOENIX-6821 by [~haridsv] or after PHOENIX-6821 is fixed. [~palashc], do you know another code path were the Phoenix client calls ConnectionQueryServicesImpl#getTable() for the same statement? > Multiple calls for the same table to ConnectionQueryServicesImpl#getTable > within the execution of the same statement > -------------------------------------------------------------------------------------------------------------------- > > Key: PHOENIX-6860 > URL: https://issues.apache.org/jira/browse/PHOENIX-6860 > Project: Phoenix > Issue Type: Improvement > Affects Versions: 5.1.2, 5.1.3 > Reporter: Tanuj Khurana > Assignee: Kadir Ozdemir > Priority: Major > > For some statements like for example UPSERT statements, we make multiple > calls to ConnectionQueryServicesImpl#getTable() for the same table like once > in FromCompiler when creating the table ref and again when sending mutations > in MutationState#validateAndGetServerTimestamp(). I think we can reduce the > unnecessary RPCs to the server if we have already resolved the table for a > given statement. -- This message was sent by Atlassian Jira (v8.20.10#820010)