[
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 [[email protected]]
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 [[email protected]]
> 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 [[email protected]]
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)