[ https://issues.apache.org/jira/browse/PHOENIX-7165?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17802084#comment-17802084 ]
ASF GitHub Bot commented on PHOENIX-7165: ----------------------------------------- kadirozde commented on PR #1777: URL: https://github.com/apache/phoenix/pull/1777#issuecomment-1875071311 > > > Also, I wonder if we should make this functionalitiy available from the Connection object as a new method. > > > > > > Ideally yes we should. We tried that before while working on [PHOENIX-6761](https://issues.apache.org/jira/browse/PHOENIX-6761). However, there are tests that expect TableNotFoundException from PhoenixConnection#getTable. So, we gave up on that. > > What is your opinion on renaming the current getTable to something like getCachedTable or getTableFromCache, and adding a fixed getTable to handles tables not in the cache ? That would not break the tests (and current code that relies on the bahviour), and would make the method names better match the behaviour ? I will look into unifying get table and related methods and possibly remove them from PhoenixRuntime to simply the code. > Compilers should use PhoenixRuntime#getTable > -------------------------------------------- > > 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, Phoenix compilers > should not use PhoenixConnection#getTable, instead they should use > PhoenixRuntime#getTable. -- This message was sent by Atlassian Jira (v8.20.10#820010)