jnturton commented on code in PR #2655:
URL: https://github.com/apache/drill/pull/2655#discussion_r981328928


##########
exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/DrillSqlWorker.java:
##########
@@ -130,11 +132,18 @@ private static PhysicalPlan convertPlan(QueryContext 
context, String sql, Pointe
       logger.trace("There was an error during conversion into physical plan. " 
+
           "Will sync remote and local function registries if needed and retry 
" +
           "in case if issue was due to missing function implementation.", e);
-      // it is prohibited to retry query planning for ANALYZE statement since 
it changes
-      // query-level option values and will fail when rerunning with updated 
values
-      if (context.getFunctionRegistry().syncWithRemoteRegistry(
-              context.getDrillOperatorTable().getFunctionRegistryVersion())
-        && context.getSQLStatementType() != SqlStatementType.ANALYZE) {
+
+      int funcRegVer = 
context.getDrillOperatorTable().getFunctionRegistryVersion();
+      // We do not retry conversion if the error is a UserException of type 
RESOURCE
+      boolean isResourceErr = e instanceof UserException && ((UserException) 
e).getErrorType() == RESOURCE;

Review Comment:
   Maybe after plugin auto disabling has happened I should set a flag somewhere 
like QueryContext to record that it has happened. Then this code doesn't need 
to try to tell what happened from the exception type, it can look at the flag 
and see that it should not try to sync the function registry and convert the 
query again because a needed plugin was broken and is now disabled?



-- 
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: dev-unsubscr...@drill.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to