[
https://issues.apache.org/jira/browse/HIVE-26618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17616420#comment-17616420
]
Stamatis Zampetakis commented on HIVE-26618:
--------------------------------------------
+Pros+
* Potential problems (wrong results, compile/runtime failures, performance
regression) due to HIVE-26524 can be easily mitigated by tuning a property.
+Cons+
* Partial functionality overlap with other properties used to disable rules
(i.e., hive.cbo.rule.exclusion.regex).
* Increase maintenance cost:
** code must run correctly and efficiently both when property is true and
false; we have to solve bugs, accept & review improvements in both cases
** blocks future refactoring since we need to maintain in-house variants; e.g.,
HiveRelBuilder and some other rules could be removed
* Decrease test coverage (the way tests are run one path will have
significantly more coverage than the other); difficult to guarantee that both
branches remain operational as more changes get in.
> Add setting to turn on/off removing sections of a query plan known never
> produces rows
> --------------------------------------------------------------------------------------
>
> Key: HIVE-26618
> URL: https://issues.apache.org/jira/browse/HIVE-26618
> Project: Hive
> Issue Type: Improvement
> Components: CBO
> Reporter: Krisztian Kasa
> Assignee: Krisztian Kasa
> Priority: Major
> Labels: pull-request-available
> Fix For: 4.0.0, 4.0.0-alpha-2
>
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> HIVE-26524 introduced an optimization to remove sections of query plan known
> never produces rows.
> Add a setting into hive conf to turn on/off this optimization.
> When the optimization is turned off restore the legacy behavior:
> * represent empty result operator with {{HiveSortLimit}} 0
> * disable {{HiveRemoveEmptySingleRules}}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)