palashc commented on code in PR #1666:
URL: https://github.com/apache/phoenix/pull/1666#discussion_r1343068572


##########
phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixStatement.java:
##########
@@ -371,6 +482,23 @@ private PhoenixResultSet executeQuery(final 
CompilableStatement stmt,
                                 plan =
                                         
connection.getQueryServices().getOptimizer()
                                                 
.optimize(PhoenixStatement.this, plan);
+                                setLastQueryPlan(plan);
+
+                                //verify metadata for the table/view/index in 
the query plan
+                                if (plan.getTableRef() != null && 
validateLastDdlTimestamp) {
+                                    try {
+                                        
validateLastDDLTimestamp(plan.getTableRef(), true);
+                                    } catch (StaleMetadataCacheException e) {
+                                        String planSchemaName = 
plan.getTableRef().getTable().getSchemaName().toString();
+                                        String planTableName = 
plan.getTableRef().getTable().getTableName().toString();
+                                        // force update client metadata cache
+                                        LOGGER.debug("Force updating client 
metadata cache for {}", getInfoString(getLastQueryPlan().getTableRef()));
+                                        new 
MetaDataClient(connection).updateCache(connection.getTenantId(), 
planSchemaName, planTableName, true);
+                                        // skip last ddl timestamp validation 
in the retry
+                                        return executeQuery(stmt, 
doRetryOnMetaNotFoundError, queryLogger, noCommit, false);

Review Comment:
   @shahrs87 added a boolean flag for updating metrics in the finally block. 
Setting it to false in the catch blocks. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to