[
https://issues.apache.org/jira/browse/PHOENIX-7165?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17802017#comment-17802017
]
ASF GitHub Bot commented on PHOENIX-7165:
-----------------------------------------
stoty commented on PR #1777:
URL: https://github.com/apache/phoenix/pull/1777#issuecomment-1874877216
> > 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 ?
> 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)