[ https://issues.apache.org/jira/browse/PHOENIX-5180?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thomas D'Silva updated PHOENIX-5180: ------------------------------------ Description: If we want to look up the PTable of a tenant view we currently need to create a tenant specific connection and call {{PhoenixRuntime.getTable()}}. This could be inefficient if we need to create millions of tenant specific connections. We could instead just pass in the tenant id and use a global connection {{getTable(Connection conn, String tenantId, String fullTableName, long timestamp)}} Insread of using the scn from the connection to set the clientTimestamp, we would use the passed in timestamp. If the table isn't cached we would need to make a rpc to fetch the table from SYSTEM.CATALOG {code:java} MetaDataMutationResult result = new MetaDataClient(pconn).updateCache(PName tenantId, String schemaName, String tableName) {code} FYI [~andrew.purt...@gmail.com] was: If we want to look up the PTable of a tenant view we currently need to create a tenant specific connection and call {{PhoenixRuntime.getTable()}}. This could be inefficient if we need to create millions of tenant specific connections. We could instead just pass in the tenant id and use a global connection {{getTable(Connection conn, String tenantId, String name)}} If the table isn't cached we would need to make a rpc to fetch the table from SYSTEM.CATALOG {code} MetaDataMutationResult result = new MetaDataClient(pconn).updateCache(PName tenantId, String schemaName, String tableName) {code} FYI [~andrew.purt...@gmail.com] > Add API to PhoenixRunTime to get ptable of a tenant using a global connection > ----------------------------------------------------------------------------- > > Key: PHOENIX-5180 > URL: https://issues.apache.org/jira/browse/PHOENIX-5180 > Project: Phoenix > Issue Type: New Feature > Reporter: Thomas D'Silva > Priority: Major > Labels: SFDC > > If we want to look up the PTable of a tenant view we currently need to create > a tenant specific connection and call {{PhoenixRuntime.getTable()}}. This > could be inefficient if we need to create millions of tenant specific > connections. > We could instead just pass in the tenant id and use a global connection > {{getTable(Connection conn, String tenantId, String fullTableName, long > timestamp)}} > Insread of using the scn from the connection to set the clientTimestamp, we > would use the passed in timestamp. > If the table isn't cached we would need to make a rpc to fetch the table from > SYSTEM.CATALOG > {code:java} > MetaDataMutationResult result = new MetaDataClient(pconn).updateCache(PName > tenantId, String schemaName, String tableName) > {code} > FYI [~andrew.purt...@gmail.com] -- This message was sent by Atlassian JIRA (v7.6.3#76005)