Details
-
Task
-
Status: In Progress
-
Major
-
Resolution: Unresolved
-
4.0.0-alpha-1
-
None
Description
CALCITE-2450 introduced a way to improve planning time by normalizing some query expressions (RexNodes). The behavior can be enabled/disabled via the following system property: calcite.enable.rexnode.digest.normalize
There was an attempt to disable the normalization explicitly in HIVE-23456 to avoid rendering HiveFilterSortPredicates rule useless. However, the way the normalization is disabled now, dependents on the way classes are loaded. If for some reason CalciteSystemProperty is loaded before hitting the respective line in Hive.java setting the property will not have any effect.
After HIVE-26238 the behavior of the rule is not dependent in the value of the property so there is nothing holding us back from enabling the normalization.
At the moment there is not strong reason to enable or disable the normalization explicitly so it is better to rely on the default value provided by Calcite to avoid running with different normalization strategy when the class loading order changes.
Attachments
Issue Links
- depends upon
-
HIVE-26238 Decouple sort filter predicates optimization from digest normalization in CBO
- Closed
- relates to
-
CALCITE-2450 RexSimplify: reorder predicates to a canonical form as a part of RexSimplify
- Closed
-
HIVE-23456 Upgrade Calcite version to 1.25.0
- Closed
- links to