Stamatis Zampetakis created HIVE-26312:
------------------------------------------

             Summary: Use default digest normalization strategy in CBO
                 Key: HIVE-26312
                 URL: https://issues.apache.org/jira/browse/HIVE-26312
             Project: Hive
          Issue Type: Task
          Components: CBO
    Affects Versions: 4.0.0-alpha-1
            Reporter: Stamatis Zampetakis
            Assignee: Stamatis Zampetakis


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|https://github.com/apache/hive/blob/f29cb2245c97102975ea0dd73783049eaa0947a0/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java#L549],
 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.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to