okumin commented on code in PR #5577:
URL: https://github.com/apache/hive/pull/5577#discussion_r1894873589
##########
common/src/java/org/apache/hadoop/hive/conf/HiveConf.java:
##########
@@ -1867,7 +1867,7 @@ public static enum ConfVars {
+ "execution engine doesn't take advantage of statistics stored in
the cache."),
// CBO related
HIVE_CBO_ENABLED("hive.cbo.enable", true, "Flag to control enabling Cost
Based Optimizations using Calcite framework."),
- HIVE_CBO_FALLBACK_STRATEGY("hive.cbo.fallback.strategy", "CONSERVATIVE",
+ HIVE_CBO_FALLBACK_STRATEGY("hive.cbo.fallback.strategy", "NEVER",
Review Comment:
Can we make NEVER default? I guess this is the last known issue and that's
why this PR would change it. It is one of the greatest news in 2024.
https://issues.apache.org/jira/browse/HIVE-27831
I'd create a separate ticket to change the default, cleaning up some test
resources as [Stamatis tried
before](https://github.com/apache/hive/pull/4836/files).
##########
ql/src/java/org/apache/hadoop/hive/ql/parse/type/RexNodeExprFactory.java:
##########
@@ -622,11 +634,13 @@ protected RexNode createNestedColumnRefExpr(
if (expr.getType().isStruct()) {
// regular case of accessing nested field in a column
return rexBuilder.makeFieldAccess(expr, fieldName, true);
+ } else if (expr.getType().getComponentType() != null){
Review Comment:
I'd add a space after the right paren
##########
ql/src/test/results/clientpositive/llap/vector_orc_nested_column_pruning.q.out:
##########
@@ -3008,7 +3008,7 @@ STAGE PLANS:
enabled: true
enabledConditionsMet:
hive.vectorized.use.vectorized.input.format IS true
inputFileFormats:
org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
- notVectorizedReason: Key expression for GROUPBY operator:
Vectorizing complex type LIST not supported
+ notVectorizedReason: exception: java.lang.ClassCastException:
org.apache.hadoop.hive.serde2.typeinfo.ListTypeInfo cannot be cast to
org.apache.hadoop.hive.serde2.typeinfo.StructTypeInfo stack trace:
org.apache.hadoop.hive.ql.exec.vector.VectorizationContext.getStructFieldIndex(VectorizationContext.java:1106),
org.apache.hadoop.hive.ql.exec.vector.VectorizationContext.getGenericUDFStructField(VectorizationContext.java:1094),
org.apache.hadoop.hive.ql.exec.vector.VectorizationContext.getVectorExpression(VectorizationContext.java:1074),
org.apache.hadoop.hive.ql.exec.vector.VectorizationContext.getVectorExpression(VectorizationContext.java:972),
org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer.vectorizeSelectOperator(Vectorizer.java:4806),
org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer.validateAndVectorizeOperator(Vectorizer.java:5443),
org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer.doProcessChild(Vectorizer.java:1011),
org.apache.hadoop.hive.ql
.optimizer.physical.Vectorizer.doProcessChildren(Vectorizer.java:898),
org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer.validateAndVectorizeOperatorTree(Vectorizer.java:868),
org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer.access$2500(Vectorizer.java:253),
org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer$VectorizationDispatcher.validateAndVectorizeMapOperators(Vectorizer.java:2118),
org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer$VectorizationDispatcher.validateAndVectorizeMapOperators(Vectorizer.java:2070),
org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer$VectorizationDispatcher.validateAndVectorizeMapWork(Vectorizer.java:2045),
org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer$VectorizationDispatcher.convertMapWork(Vectorizer.java:1199),
org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer$VectorizationDispatcher.dispatch(Vectorizer.java:1051),
...
Review Comment:
Although the result is unchanged, maybe we would like to have a better error
here. ClassCastException sounds irregular. Also, this stack trace should not be
robust
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]