You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Stamatis Zampetakis (Jira)" <ji...@apache.org> on 2022/06/10 13:30:00 UTC

[jira] [Created] (HIVE-26312) Use default digest normalization strategy in CBO

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)