Hi all, We're using the Table API to read in batch mode from an Iceberg table on s3 using DynamoDB as the catalog implementation. We're hitting a NPE in the Calcite planner. The same query works fine when using the local FS and in-memory catalog. Below is a snipped stacktrace. Any thoughts on how to troubleshoot this?Any help would be much appreciated! Thanks! Jad
java.lang.NullPointerException: metadataHandlerProvider at java.base/java.util.Objects.requireNonNull(Objects.java:246) at org.apache.calcite.rel.metadata.RelMetadataQueryBase.getMetadataHandlerProvider(RelMetadataQueryBase.java:122) at org.apache.calcite.rel.metadata.RelMetadataQueryBase.revise(RelMetadataQueryBase.java:118) at org.apache.calcite.rel.metadata.RelMetadataQuery.collations(RelMetadataQuery.java:604) at org.apache.calcite.rel.metadata.RelMdCollation.project(RelMdCollation.java:291) at org.apache.calcite.rel.logical.LogicalProject.lambda$create$0(LogicalProject.java:125) at org.apache.calcite.plan.RelTraitSet.replaceIfs(RelTraitSet.java:244) at org.apache.calcite.rel.logical.LogicalProject.create(LogicalProject.java:124) at org.apache.calcite.rel.logical.LogicalProject.create(LogicalProject.java:114) at org.apache.calcite.rel.core.RelFactories$ProjectFactoryImpl.createProject(RelFactories.java:178) at org.apache.calcite.tools.RelBuilder.project_(RelBuilder.java:2191) at org.apache.calcite.tools.RelBuilder.project(RelBuilder.java:1970) at org.apache.flink.table.planner.plan.QueryOperationConverter$SingleRelVisitor.visit(QueryOperationConverter.java:165) at org.apache.flink.table.planner.plan.QueryOperationConverter$SingleRelVisitor.visit(QueryOperationConverter.java:158) at org.apache.flink.table.operations.ProjectQueryOperation.accept(ProjectQueryOperation.java:76) at org.apache.flink.table.planner.plan.QueryOperationConverter.defaultMethod(QueryOperationConverter.java:155) at org.apache.flink.table.planner.plan.QueryOperationConverter.defaultMethod(QueryOperationConverter.java:135) at org.apache.flink.table.operations.utils.QueryOperationDefaultVisitor.visit(QueryOperationDefaultVisitor.java:47) at org.apache.flink.table.operations.ProjectQueryOperation.accept(ProjectQueryOperation.java:76) at org.apache.flink.table.planner.plan.QueryOperationConverter.lambda$defaultMethod$0(QueryOperationConverter.java:154) at java.base/java.util.Collections$SingletonList.forEach(Collections.java:4856) at org.apache.flink.table.planner.plan.QueryOperationConverter.defaultMethod(QueryOperationConverter.java:154) at org.apache.flink.table.planner.plan.QueryOperationConverter.defaultMethod(QueryOperationConverter.java:135) at org.apache.flink.table.operations.utils.QueryOperationDefaultVisitor.visit(QueryOperationDefaultVisitor.java:72) at org.apache.flink.table.operations.FilterQueryOperation.accept(FilterQueryOperation.java:67) at org.apache.flink.table.planner.plan.QueryOperationConverter.lambda$defaultMethod$0(QueryOperationConverter.java:154) at java.base/java.util.Collections$SingletonList.forEach(Collections.java:4856) at org.apache.flink.table.planner.plan.QueryOperationConverter.defaultMethod(QueryOperationConverter.java:154) at org.apache.flink.table.planner.plan.QueryOperationConverter.defaultMethod(QueryOperationConverter.java:135) at org.apache.flink.table.operations.utils.QueryOperationDefaultVisitor.visit(QueryOperationDefaultVisitor.java:82) at org.apache.flink.table.operations.SortQueryOperation.accept(SortQueryOperation.java:93) at org.apache.flink.table.planner.calcite.FlinkRelBuilder.queryOperation(FlinkRelBuilder.java:261) at org.apache.flink.table.planner.delegation.PlannerBase.translateToRel(PlannerBase.scala:224) at org.apache.flink.table.planner.delegation.PlannerBase.$anonfun$translate$1(PlannerBase.scala:194) at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:233) at scala.collection.Iterator.foreach(Iterator.scala:937) at scala.collection.Iterator.foreach$(Iterator.scala:937) at scala.collection.AbstractIterator.foreach(Iterator.scala:1425) at scala.collection.IterableLike.foreach(IterableLike.scala:70) at scala.collection.IterableLike.foreach$(IterableLike.scala:69) at scala.collection.AbstractIterable.foreach(Iterable.scala:54) at scala.collection.TraversableLike.map(TraversableLike.scala:233) at scala.collection.TraversableLike.map$(TraversableLike.scala:226) at scala.collection.AbstractTraversable.map(Traversable.scala:104) at org.apache.flink.table.planner.delegation.PlannerBase.translate(PlannerBase.scala:194) at org.apache.flink.table.api.internal.TableEnvironmentImpl.translate(TableEnvironmentImpl.java:1803) at org.apache.flink.table.api.internal.TableEnvironmentImpl.executeQueryOperation(TableEnvironmentImpl.java:945) at org.apache.flink.table.api.internal.TableEnvironmentImpl.executeInternal(TableEnvironmentImpl.java:1422) at org.apache.flink.table.api.internal.TableImpl.execute(TableImpl.java:476)