[
https://issues.apache.org/jira/browse/FLINK-17135?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17084686#comment-17084686
]
Dian Fu edited comment on FLINK-17135 at 4/16/20, 9:16 AM:
-----------------------------------------------------------
I have reproduced this issue in my local machine and I think it's a bug
introduced in CALCITE-3149 after debugging. CALCITE-3149 ensures that the
RelDataType cache(DATATYPE_CACHE) in RelDataTypeFactoryImpl could be garbage
collected. However, the equality check still checks the [object
reference](https://github.com/apache/calcite/blob/52a57078ba081b24b9d086ed363c715485d1a519/core/src/main/java/org/apache/calcite/rex/RexProgramBuilder.java#L948).
It may cause issues in cases that the cache DATATYPE_CACHE has been garbage
collected and at the same time there are still references to the old
RelDataType (I have saw there are RelDataType types which are not in the
DATATYPE_CACHE cache and this is the root cause of the test failure reported in
this JIRA). I will change the tests a bit to work around this issue for the
time being.
However, this is a bug which should also be fixed in calcite. cc [~danny0405]
was (Author: dian.fu):
I have reproduced this issue in my local machine and I think it's a bug
introduced in CALCITE-3149 after debugging. CALCITE-3149 ensures that the
RelDataType cache(DATATYPE_CACHE) in RelDataTypeFactoryImpl could be garbage
collected. However, the equality check still checks the [object
reference](https://github.com/apache/calcite/blob/52a57078ba081b24b9d086ed363c715485d1a519/core/src/main/java/org/apache/calcite/rex/RexProgramBuilder.java#L948).
It may cause issues in cases that the cache DATATYPE_CACHE has been garbage
collected and at the same time there are still references to the old
RelDataType. I will change the tests a bit to work around this issue for the
time being.
However, this is a bug which should also be fixed in calcite. cc [~danny0405]
> PythonCalcSplitRuleTest.testPandasFunctionMixedWithGeneralPythonFunction
> failed
> -------------------------------------------------------------------------------
>
> Key: FLINK-17135
> URL: https://issues.apache.org/jira/browse/FLINK-17135
> Project: Flink
> Issue Type: Bug
> Components: API / Python, Tests
> Affects Versions: 1.11.0
> Reporter: Dian Fu
> Assignee: Dian Fu
> Priority: Major
> Labels: pull-request-available, test-stability
> Fix For: 1.11.0
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> Shared by Chesnay on
> https://issues.apache.org/jira/browse/FLINK-17093?focusedCommentId=17083055&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17083055:
> PythonCalcSplitRuleTest.testPandasFunctionMixedWithGeneralPythonFunction
> failed on master:
> {code:java}
> [INFO] Running
> org.apache.flink.table.planner.plan.rules.logical.PythonCalcSplitRuleTest
> [ERROR] Tests run: 19, Failures: 1, Errors: 0, Skipped: 0, Time elapsed:
> 0.441 s <<< FAILURE! - in
> org.apache.flink.table.planner.plan.rules.logical.PythonCalcSplitRuleTest
> [ERROR]
> testPandasFunctionMixedWithGeneralPythonFunction(org.apache.flink.table.planner.plan.rules.logical.PythonCalcSplitRuleTest)
> Time elapsed: 0.032 s <<< FAILURE!
> java.lang.AssertionError:
> type mismatch:
> type1:
> INTEGER NOT NULL
> type2:
> INTEGER NOT NULL
> at org.apache.calcite.util.Litmus$1.fail(Litmus.java:31)
> at org.apache.calcite.plan.RelOptUtil.eq(RelOptUtil.java:2188)
> at
> org.apache.calcite.rex.RexProgramBuilder$RegisterInputShuttle.visitInputRef(RexProgramBuilder.java:948)
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)