[ https://issues.apache.org/jira/browse/PHOENIX-3823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16035189#comment-16035189 ]
Hudson commented on PHOENIX-3823: --------------------------------- FAILURE: Integrated in Jenkins build Phoenix-master #1637 (See [https://builds.apache.org/job/Phoenix-master/1637/]) PHOENIX-3823 Force cache update on MetaDataEntityNotFoundException (jamestaylor: rev e7629ca39224e7cbc49e8a7740ed96877a16df76) * (edit) phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixStatement.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/schema/ColumnNotFoundException.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/schema/PTableImpl.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataEntityNotFoundException.java * (add) phoenix-core/src/main/java/org/apache/phoenix/schema/UpsertColumnsValuesMismatchException.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/optimize/QueryOptimizer.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/schema/SequenceNotFoundException.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/compile/UpsertCompiler.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/exception/SQLExceptionCode.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/compile/DeleteCompiler.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java * (edit) phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableIT.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/compile/FromCompiler.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/compile/ProjectionCompiler.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java * (add) phoenix-core/src/it/java/org/apache/phoenix/end2end/UpdateCacheAcrossDifferentClientsIT.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/schema/FunctionNotFoundException.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/schema/ColumnFamilyNotFoundException.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/compile/WhereCompiler.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/schema/SchemaNotFoundException.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/schema/TableNotFoundException.java * (edit) phoenix-core/src/main/java/org/apache/phoenix/util/UpgradeUtil.java > Force cache update on MetaDataEntityNotFoundException > ------------------------------------------------------ > > Key: PHOENIX-3823 > URL: https://issues.apache.org/jira/browse/PHOENIX-3823 > Project: Phoenix > Issue Type: Sub-task > Affects Versions: 4.10.0 > Reporter: James Taylor > Assignee: Maddineni Sukumar > Fix For: 4.11.0 > > Attachments: PHOENIX-3823.patch, PHOENIX-3823.v10.patch, > PHOENIX-3823.v11.patch, PHOENIX-3823.v12.patch, PHOENIX-3823.v2.patch, > PHOENIX-3823.v3.patch, PHOENIX-3823.v4.patch, PHOENIX-3823.v5.patch, > PHOENIX-3823.v6.patch, PHOENIX-3823.v7.patch, PHOENIX-3823.v8.patch, > PHOENIX-3823.v9.patch > > > When UPDATE_CACHE_FREQUENCY is used, clients will cache metadata for a period > of time which may cause the schema being used to become stale. If another > client adds a column or a new table or view, other clients won't see it. As a > result, the client will get a MetaDataEntityNotFoundException. Instead of > bubbling this up, we should retry after forcing a cache update on the tables > involved in the query. > The above works well for references to entities that don't yet exist. > However, we cannot detect when some entities are referred to which no longer > exists until the cache expires. An exception is if a physical table is > dropped which would be detected immediately, however we would allow queries > and updates to columns which have been dropped until the cache entry expires > (which seems like a reasonable tradeoff IMHO. In addition, we won't start > using indexes on tables until the cache expires. -- This message was sent by Atlassian JIRA (v6.3.15#6346)