Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-13267 Making it possible to have both flink planner and blink planner in classpath
  3. FLINK-13402

RelOptCluster's constructor can not be accessed when connector dependent both flink-planner and blink-planner

    XMLWordPrintableJSON

    Details

      Description

      If connector dependent both flink and blink planner. There is an exception shows RelOptCluster's constructor can not be accessed.

      java.lang.IllegalAccessError: tried to access method org.apache.calcite.plan.RelOptCluster.<init>(Lorg/apache/calcite/plan/RelOptPlanner;Lorg/apache/calcite/rel/type/RelDataTypeFactory;Lorg/apache/calcite/rex/RexBuilder;Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/Map;)V from class org.apache.flink.table.planner.calcite.FlinkRelOptCluster
      
      at org.apache.flink.table.planner.calcite.FlinkRelOptCluster.<init>(FlinkRelOptCluster.scala:42)
      at org.apache.flink.table.planner.calcite.FlinkRelOptCluster$.create(FlinkRelOptCluster.scala:71)
      at org.apache.flink.table.planner.calcite.FlinkRelOptClusterFactory$.create(FlinkRelOptClusterFactory.scala:34)
      at org.apache.flink.table.planner.calcite.FlinkRelOptClusterFactory.create(FlinkRelOptClusterFactory.scala)
      at org.apache.flink.table.planner.delegation.PlannerContext.<init>(PlannerContext.java:92)
      at org.apache.flink.table.planner.delegation.PlannerBase.<init>(PlannerBase.scala:86)
      at org.apache.flink.table.planner.delegation.StreamPlanner.<init>(StreamPlanner.scala:47)
      at org.apache.flink.table.planner.delegation.BlinkPlannerFactory.create(BlinkPlannerFactory.java:50)
      at org.apache.flink.table.api.java.internal.StreamTableEnvironmentImpl.create(StreamTableEnvironmentImpl.java:116)
      at org.apache.flink.table.api.java.StreamTableEnvironment.create(StreamTableEnvironment.java:112)
      at org.apache.flink.api.java.io.jdbc.JDBCUpsertTableSinkITCase.testUpsert(JDBCUpsertTableSinkITCase.java:124)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:498)
      at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
      at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
      at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
      at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
      at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
      at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
      

      Maybe we should copy RelOptCluster to flink-planner.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                godfreyhe godfrey he
                Reporter:
                lzljs3620320 Jingsong Lee
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 20m
                  20m