[ 
https://issues.apache.org/jira/browse/FLINK-13474?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mateusz Jarzyna updated FLINK-13474:
------------------------------------
    Description: 
I'm trying to add some data to table.

Dependencies:
{code:java}
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <flink.version>1.8.1</flink.version>
    <java.version>1.8</java.version>
    <scala.binary.version>2.11</scala.binary.version>
    <maven.compiler.source>${java.version}</maven.compiler.source>
    <maven.compiler.target>${java.version}</maven.compiler.target>
</properties>

<dependencies>
    <!-- Apache Flink dependencies -->
    <!-- These dependencies are provided, because they should not be packaged 
into the JAR file. -->
    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-java</artifactId>
        <version>${flink.version}</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-streaming-java_${scala.binary.version}</artifactId>
        <version>${flink.version}</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-connector-kafka_${scala.binary.version}</artifactId>
        <version>${flink.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-table-planner_${scala.binary.version}</artifactId>
        <version>${flink.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.flink</groupId>
        
<artifactId>flink-table-api-java-bridge_${scala.binary.version}</artifactId>
        <version>${flink.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-streaming-scala_${scala.binary.version}</artifactId>
        <version>${flink.version}</version>
    </dependency>
</dependencies>
{code}
Code:
{code:java}
import org.apache.flink.api.common.serialization.SimpleStringSchema;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer;
import org.apache.flink.table.api.Table;
import org.apache.flink.table.api.java.StreamTableEnvironment;

import java.util.Properties;

public class Test {

   public static void main(String[] args) throws Exception {
      StreamExecutionEnvironment env = 
StreamExecutionEnvironment.getExecutionEnvironment();
      StreamTableEnvironment tEnv = StreamTableEnvironment.create(env);

      Properties properties = new Properties();
      properties.setProperty("bootstrap.servers", "ran-kafka:9092");
      properties.setProperty("group.id", "test");
      DataStream<String> stream = env
            .addSource(new FlinkKafkaConsumer<>("testtopic", new 
SimpleStringSchema(), properties));

      SingleOutputStreamOperator<LD> lds = stream
            .map(x -> {
               LD ld = new LD();
               ld.setName(x);
               ld.setCount(0);
               return ld;
            });

      tEnv.registerDataStream("LeDa", lds, "name, count");

      Table table = tEnv.sqlQuery("select * from LeDa");
      System.out.println(table);

      env.execute("");
   }
{code}
 

But when I'm submitting the jar (using Flink Dashboard) I'm getting the error
{code:java}
org.apache.flink.client.program.ProgramInvocationException: The program caused 
an error:
    at 
org.apache.flink.client.program.OptimizerPlanEnvironment.getOptimizedPlan(OptimizerPlanEnvironment.java:93)
    at 
org.apache.flink.client.program.PackagedProgramUtils.createJobGraph(PackagedProgramUtils.java:80)
    at 
org.apache.flink.runtime.webmonitor.handlers.utils.JarHandlerUtils$JarHandlerContext.toJobGraph(JarHandlerUtils.java:126)
    at 
org.apache.flink.runtime.webmonitor.handlers.JarRunHandler.lambda$getJobGraphAsync$6(JarRunHandler.java:142)
    at 
java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
    at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoSuchMethodError: 
scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable/ArrayOps;
    at 
org.apache.flink.table.api.TableEnvironment.getFieldInfo(TableEnvironment.scala:1099)
    at 
org.apache.flink.table.api.StreamTableEnvironment.registerDataStreamInternal(StreamTableEnvironment.scala:546)
    at 
org.apache.flink.table.api.java.StreamTableEnvironment.registerDataStream(StreamTableEnvironment.scala:136)
    at com.test.Test.main(Test.java:33)
    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.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:529)
    at 
org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:421)
    at 
org.apache.flink.client.program.OptimizerPlanEnvironment.getOptimizedPlan(OptimizerPlanEnvironment.java:83)
    ... 7 more{code}
Line 33 is
{code:java}
tEnv.registerDataStream("LeDa", lds, "name, count");
{code}
LD class is a very simple POJO

 

I've also tried
{code:java}
tEnv.fromDataStream(lds);
tEnv.registerDataStream("LeDa", lds, "name, count");
{code}
but the same result

  was:
I'm trying to add some data to table.

Dependencies:
{code:java}
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <flink.version>1.8.1</flink.version>
    <java.version>1.8</java.version>
    <scala.binary.version>2.11</scala.binary.version>
    <maven.compiler.source>${java.version}</maven.compiler.source>
    <maven.compiler.target>${java.version}</maven.compiler.target>
</properties>

<dependencies>
    <!-- Apache Flink dependencies -->
    <!-- These dependencies are provided, because they should not be packaged 
into the JAR file. -->
    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-java</artifactId>
        <version>${flink.version}</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-streaming-java_${scala.binary.version}</artifactId>
        <version>${flink.version}</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-connector-kafka_${scala.binary.version}</artifactId>
        <version>${flink.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-table-planner_${scala.binary.version}</artifactId>
        <version>${flink.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.flink</groupId>
        
<artifactId>flink-table-api-java-bridge_${scala.binary.version}</artifactId>
        <version>${flink.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-streaming-scala_${scala.binary.version}</artifactId>
        <version>${flink.version}</version>
    </dependency>
</dependencies>
{code}
Code:
{code:java}
import org.apache.flink.api.common.serialization.SimpleStringSchema;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer;
import org.apache.flink.table.api.Table;
import org.apache.flink.table.api.java.StreamTableEnvironment;

import java.util.Properties;

public class Test {

   public static void main(String[] args) throws Exception {
      StreamExecutionEnvironment env = 
StreamExecutionEnvironment.getExecutionEnvironment();
      StreamTableEnvironment tEnv = StreamTableEnvironment.create(env);

      Properties properties = new Properties();
      properties.setProperty("bootstrap.servers", "ran-kafka:9092");
      properties.setProperty("group.id", "test");
      DataStream<String> stream = env
            .addSource(new FlinkKafkaConsumer<>("testtopic", new 
SimpleStringSchema(), properties));

      SingleOutputStreamOperator<LD> lds = stream
            .map(x -> {
               LD ld = new LD();
               ld.setName(x);
               ld.setCount(0);
               return ld;
            });

      tEnv.registerDataStream("LeDa", lds, "name, count");

      Table table = tEnv.sqlQuery("select * from LeDa");
      System.out.println(table);

      env.execute("");
   }
{code}
 

But when I'm submitting the jar (using Flink Dashboard) I'm getting the error
{code:java}
org.apache.flink.client.program.ProgramInvocationException: The program caused 
an error:
    at 
org.apache.flink.client.program.OptimizerPlanEnvironment.getOptimizedPlan(OptimizerPlanEnvironment.java:93)
    at 
org.apache.flink.client.program.PackagedProgramUtils.createJobGraph(PackagedProgramUtils.java:80)
    at 
org.apache.flink.runtime.webmonitor.handlers.utils.JarHandlerUtils$JarHandlerContext.toJobGraph(JarHandlerUtils.java:126)
    at 
org.apache.flink.runtime.webmonitor.handlers.JarRunHandler.lambda$getJobGraphAsync$6(JarRunHandler.java:142)
    at 
java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
    at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoSuchMethodError: 
scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable/ArrayOps;
    at 
org.apache.flink.table.api.TableEnvironment.getFieldInfo(TableEnvironment.scala:1099)
    at 
org.apache.flink.table.api.StreamTableEnvironment.registerDataStreamInternal(StreamTableEnvironment.scala:546)
    at 
org.apache.flink.table.api.java.StreamTableEnvironment.registerDataStream(StreamTableEnvironment.scala:136)
    at com.test.Test.main(Test.java:33)
{code}
Line 33 is
{code:java}
tEnv.registerDataStream("LeDa", lds, "name, count");
{code}
LD class is a very simple POJO

 

I've also tried
{code:java}
tEnv.fromDataStream(lds);
tEnv.registerDataStream("LeDa", lds, "name, count");
{code}
but the same result


> NoSuchMethodError when registering DataStream
> ---------------------------------------------
>
>                 Key: FLINK-13474
>                 URL: https://issues.apache.org/jira/browse/FLINK-13474
>             Project: Flink
>          Issue Type: Bug
>          Components: Table SQL / Ecosystem
>    Affects Versions: 1.8.1
>         Environment: runtime: Docker flink:latest. Compiler: javac 1.8.0_172
>  
>            Reporter: Mateusz Jarzyna
>            Priority: Major
>
> I'm trying to add some data to table.
> Dependencies:
> {code:java}
> <properties>
>     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
>     <flink.version>1.8.1</flink.version>
>     <java.version>1.8</java.version>
>     <scala.binary.version>2.11</scala.binary.version>
>     <maven.compiler.source>${java.version}</maven.compiler.source>
>     <maven.compiler.target>${java.version}</maven.compiler.target>
> </properties>
> <dependencies>
>     <!-- Apache Flink dependencies -->
>     <!-- These dependencies are provided, because they should not be packaged 
> into the JAR file. -->
>     <dependency>
>         <groupId>org.apache.flink</groupId>
>         <artifactId>flink-java</artifactId>
>         <version>${flink.version}</version>
>         <scope>provided</scope>
>     </dependency>
>     <dependency>
>         <groupId>org.apache.flink</groupId>
>         <artifactId>flink-streaming-java_${scala.binary.version}</artifactId>
>         <version>${flink.version}</version>
>         <scope>provided</scope>
>     </dependency>
>     <dependency>
>         <groupId>org.apache.flink</groupId>
>         <artifactId>flink-connector-kafka_${scala.binary.version}</artifactId>
>         <version>${flink.version}</version>
>     </dependency>
>     <dependency>
>         <groupId>org.apache.flink</groupId>
>         <artifactId>flink-table-planner_${scala.binary.version}</artifactId>
>         <version>${flink.version}</version>
>     </dependency>
>     <dependency>
>         <groupId>org.apache.flink</groupId>
>         
> <artifactId>flink-table-api-java-bridge_${scala.binary.version}</artifactId>
>         <version>${flink.version}</version>
>     </dependency>
>     <dependency>
>         <groupId>org.apache.flink</groupId>
>         <artifactId>flink-streaming-scala_${scala.binary.version}</artifactId>
>         <version>${flink.version}</version>
>     </dependency>
> </dependencies>
> {code}
> Code:
> {code:java}
> import org.apache.flink.api.common.serialization.SimpleStringSchema;
> import org.apache.flink.streaming.api.datastream.DataStream;
> import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator;
> import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
> import org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer;
> import org.apache.flink.table.api.Table;
> import org.apache.flink.table.api.java.StreamTableEnvironment;
> import java.util.Properties;
> public class Test {
>    public static void main(String[] args) throws Exception {
>       StreamExecutionEnvironment env = 
> StreamExecutionEnvironment.getExecutionEnvironment();
>       StreamTableEnvironment tEnv = StreamTableEnvironment.create(env);
>       Properties properties = new Properties();
>       properties.setProperty("bootstrap.servers", "ran-kafka:9092");
>       properties.setProperty("group.id", "test");
>       DataStream<String> stream = env
>             .addSource(new FlinkKafkaConsumer<>("testtopic", new 
> SimpleStringSchema(), properties));
>       SingleOutputStreamOperator<LD> lds = stream
>             .map(x -> {
>                LD ld = new LD();
>                ld.setName(x);
>                ld.setCount(0);
>                return ld;
>             });
>       tEnv.registerDataStream("LeDa", lds, "name, count");
>       Table table = tEnv.sqlQuery("select * from LeDa");
>       System.out.println(table);
>       env.execute("");
>    }
> {code}
>  
> But when I'm submitting the jar (using Flink Dashboard) I'm getting the error
> {code:java}
> org.apache.flink.client.program.ProgramInvocationException: The program 
> caused an error:
>     at 
> org.apache.flink.client.program.OptimizerPlanEnvironment.getOptimizedPlan(OptimizerPlanEnvironment.java:93)
>     at 
> org.apache.flink.client.program.PackagedProgramUtils.createJobGraph(PackagedProgramUtils.java:80)
>     at 
> org.apache.flink.runtime.webmonitor.handlers.utils.JarHandlerUtils$JarHandlerContext.toJobGraph(JarHandlerUtils.java:126)
>     at 
> org.apache.flink.runtime.webmonitor.handlers.JarRunHandler.lambda$getJobGraphAsync$6(JarRunHandler.java:142)
>     at 
> java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590)
>     at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>     at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.NoSuchMethodError: 
> scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable/ArrayOps;
>     at 
> org.apache.flink.table.api.TableEnvironment.getFieldInfo(TableEnvironment.scala:1099)
>     at 
> org.apache.flink.table.api.StreamTableEnvironment.registerDataStreamInternal(StreamTableEnvironment.scala:546)
>     at 
> org.apache.flink.table.api.java.StreamTableEnvironment.registerDataStream(StreamTableEnvironment.scala:136)
>     at com.test.Test.main(Test.java:33)
>     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.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:529)
>     at 
> org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:421)
>     at 
> org.apache.flink.client.program.OptimizerPlanEnvironment.getOptimizedPlan(OptimizerPlanEnvironment.java:83)
>     ... 7 more{code}
> Line 33 is
> {code:java}
> tEnv.registerDataStream("LeDa", lds, "name, count");
> {code}
> LD class is a very simple POJO
>  
> I've also tried
> {code:java}
> tEnv.fromDataStream(lds);
> tEnv.registerDataStream("LeDa", lds, "name, count");
> {code}
> but the same result



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to