[
https://issues.apache.org/jira/browse/CALCITE-4056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17139019#comment-17139019
]
Haisheng Yuan commented on CALCITE-4056:
----------------------------------------
[~danny0405], thank you for your comment.
# Could you please try to remove the hashCode and equals methods I added into
the logical and physical operators, and do they still work or not? Note that I
just added the methods for several operators, for demonstration purposes. They
are recommended, but not required.
# Are you sure you fixed the OOM issue? Is there any significant memory
reduction for large RexNode with your fix? No.
> Remove Digest from RelNode and RexNode
> --------------------------------------
>
> Key: CALCITE-4056
> URL: https://issues.apache.org/jira/browse/CALCITE-4056
> Project: Calcite
> Issue Type: Improvement
> Components: core
> Reporter: Haisheng Yuan
> Priority: Major
> Fix For: 1.24.0
>
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> The digest is used everywhere (RelNode, RexNode, DataType), causing OOM
> easily for large queries or with complex expressions. Datatype is cached in
> global interner and can be reused. Unlike RelNode, RexNode is not stored in
> MEMO as a GROUP, causing it can't be shared. This makes Calcite can't scale
> for large queries, e.g. CALCITE-3784.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)