[
https://issues.apache.org/jira/browse/CALCITE-4778?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated CALCITE-4778:
------------------------------------
Labels: pull-request-available (was: )
> Exchange operator deserialize fail
> ----------------------------------
>
> Key: CALCITE-4778
> URL: https://issues.apache.org/jira/browse/CALCITE-4778
> Project: Calcite
> Issue Type: Improvement
> Reporter: xzh_dz
> Priority: Major
> Labels: pull-request-available
> Time Spent: 10m
> Remaining Estimate: 0h
>
> {code:java}
> // code placeholder
> org.apache.calcite.plan.RelWriterTest
> @Test public void testExchange() {
> final FrameworkConfig config = RelBuilderTest.config().build();
> final RelBuilder builder = RelBuilder.create(config);
> final RelNode rel = builder
> .scan("EMP")
> .exchange(RelDistributions.hash(ImmutableList.of(0, 1)))
> .build();
> final String relJson = RelOptUtil.dumpPlan("", rel,
> SqlExplainFormat.JSON, SqlExplainLevel.EXPPLAN_ATTRIBUTES);
> String s = deserializeAndDumpToTextFormat(getSchema(rel), relJson);
> final String expected = ""
> + "LogicalExchange(distribution=[hash[0, 1]])\n"
> + " LogicalTableScan(table=[[scott, EMP]])\n";
> assertThat(s, isLinux(expected));
> }
> {code}
> java.lang.NullPointerException: no entry for tag
> collationjava.lang.NullPointerException: no entry for tag
> collationjava.lang.RuntimeException: java.lang.NullPointerException: no entry
> for tag collation at
> org.apache.calcite.tools.Frameworks.withPrepare(Frameworks.java:193) at
> org.apache.calcite.tools.Frameworks.withPlanner(Frameworks.java:135) at
> org.apache.calcite.tools.Frameworks.withPlanner(Frameworks.java:153)
> Caused by: java.lang.NullPointerException: no entry for tag collationCaused
> by: java.lang.NullPointerException: no entry for tag collation at
> java.util.Objects.requireNonNull(Objects.java:290) at
> org.apache.calcite.rel.externalize.RelJsonReader$2.getNonNull(RelJsonReader.java:202)
> at
> org.apache.calcite.rel.externalize.RelJsonReader$2.getCollation(RelJsonReader.java:260)
> at org.apache.calcite.rel.core.Exchange.<init>(Exchange.java:73) at
> org.apache.calcite.rel.logical.LogicalExchange.<init>(LogicalExchange.java:44)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
> at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at
> org.apache.calcite.rel.externalize.RelJsonReader.readRel(RelJsonReader.java:289)
> at
> org.apache.calcite.rel.externalize.RelJsonReader.readRels(RelJsonReader.java:107)
--
This message was sent by Atlassian Jira
(v8.3.4#803005)