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

Reply via email to