diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java index db8d46e..6f96125 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java @@ -448,9 +448,10 @@ else if( e instanceof CalciteViewSemanticException) { else if (!conf.getBoolVar(ConfVars.HIVE_IN_TEST) || isMissingStats || e instanceof CalciteSemanticException ) { reAnalyzeAST = true; - } else if (e instanceof SemanticException) { + } else if (e instanceof SemanticException && !conf.getBoolVar(ConfVars.HIVE_IN_TEST)) { // although, its likely to be a valid exception, we will retry // with cbo off anyway. + // for tests we would like to avoid retrying to catch cbo failures reAnalyzeAST = true; } else if (e instanceof RuntimeException) { throw (RuntimeException) e;