[ https://issues.apache.org/jira/browse/PHOENIX-7165?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kadir Ozdemir updated PHOENIX-7165: ----------------------------------- Description: PhoenixConnection#getTable gets a PTable from the PTable cache per JVM. If the table is not in the cache then, it trows TableNotFoundException. PhoenixRuntime#getTable calls first PhoenixConnection#getTable and if the table is not in the cache, it retrieves table from the server. Since a user table can be evicted from the cache any time, all getTable methods should retrieve PTable objects from the server if they are not cached on the client side. Phoenix internal operations should use PhoenixConnection getTable operations instead of PhoenixRuntime ones. PhoenixRuntime getTable operations should simply call the corresponding PhoenixConnection getTable operations in order to unify the implementation of all getTable operations. was: PhoenixConnection#getTable gets a PTable from the PTable cache per JVM. If the table is not in the cache then it trows TableNotFoundException. PhoenixRuntime#getTable calls first PhoenixConnection#getTable and if the table is not in the cache, it retrieves table from the server. Since a user table can be evicted from the cache any time, Phoenix compilers should not use PhoenixConnection#getTable, instead they should use PhoenixRuntime#getTable. > getTable should retrieve PTable from server if not cached > --------------------------------------------------------- > > Key: PHOENIX-7165 > URL: https://issues.apache.org/jira/browse/PHOENIX-7165 > Project: Phoenix > Issue Type: Bug > Reporter: Kadir Ozdemir > Assignee: Kadir Ozdemir > Priority: Major > > PhoenixConnection#getTable gets a PTable from the PTable cache per JVM. If > the table is not in the cache then, it trows TableNotFoundException. > PhoenixRuntime#getTable calls first PhoenixConnection#getTable and if the > table is not in the cache, it retrieves table from the server. > Since a user table can be evicted from the cache any time, all getTable > methods should retrieve PTable objects from the server if they are not cached > on the client side. > Phoenix internal operations should use PhoenixConnection getTable operations > instead of PhoenixRuntime ones. PhoenixRuntime getTable operations should > simply call the corresponding PhoenixConnection getTable operations in order > to unify the implementation of all getTable operations. -- This message was sent by Atlassian Jira (v8.20.10#820010)