Ravi Kapoor created CALCITE-3784:
------------------------------------

             Summary: RexCall toString digest gives OOM while huge expression 
is evaluated
                 Key: CALCITE-3784
                 URL: https://issues.apache.org/jira/browse/CALCITE-3784
             Project: Calcite
          Issue Type: Bug
          Components: core
            Reporter: Ravi Kapoor


I have some complex query which has tens of thousands of rex expressions and 
this expression is used in filter expression in the query.

On creating a filter below code gets called:

public RelBuilder filter(Iterable<CorrelationId> variablesSet,
  Iterable<? extends RexNode> predicates) {

  final RexNode simplifiedPredicates =
  simplifier.simplifyFilterPredicates(predicates);
  if (simplifiedPredicates == null) {
    return empty();
 }

RexSimplify further adds the rexnode in the Set<RexNode> calling hashcode() 
internally which calls toString()

Is there any way to avoid this computeDigest Call which creates complex string 
object and blows up the  RAM about 14GB?

 

 

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to