You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@impala.apache.org by bo...@apache.org on 2020/04/02 13:41:44 UTC

[impala] 01/03: IMPALA-9483 Add logs for debugging builtin functions throw unknown exception randomly

This is an automated email from the ASF dual-hosted git repository.

boroknagyz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git

commit 7fa43eef80bcb7823f144690bd1197276907b710
Author: xiaomeng <xi...@cloudera.com>
AuthorDate: Mon Mar 30 15:27:40 2020 -0700

    IMPALA-9483 Add logs for debugging builtin functions throw unknown exception randomly
    
    In secure env with high concurrency, queries that call builtin function
    randomly fail when trying to find the function. For example,
    "AnalysisException: trim() unknown".
    Adding more info in exception message to help debugging when it happens
    again.
    
    Change-Id: I30d6eb697695da8d2521acb76d8310ec8f1bbda9
    Reviewed-on: http://gerrit.cloudera.org:8080/15607
    Reviewed-by: Impala Public Jenkins <im...@cloudera.com>
    Tested-by: Impala Public Jenkins <im...@cloudera.com>
---
 fe/src/main/java/org/apache/impala/analysis/FunctionCallExpr.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/fe/src/main/java/org/apache/impala/analysis/FunctionCallExpr.java b/fe/src/main/java/org/apache/impala/analysis/FunctionCallExpr.java
index 1566775..1fea640 100644
--- a/fe/src/main/java/org/apache/impala/analysis/FunctionCallExpr.java
+++ b/fe/src/main/java/org/apache/impala/analysis/FunctionCallExpr.java
@@ -490,7 +490,8 @@ public class FunctionCallExpr extends Expr {
     // User needs DB access.
     FeDb db = analyzer.getDb(fnName_.getDb(), Privilege.VIEW_METADATA, true);
     if (!db.containsFunction(fnName_.getFunction())) {
-      throw new AnalysisException(fnName_ + "() unknown");
+      throw new AnalysisException(fnName_ + "() unknown for database " + db.getName()
+          + ". Currently this db has " + db.numFunctions() + " functions.");
     }
 
     if (isBuiltinCastFunction()) {