Nope, because scalaBuildVersion is the scala version including minor version so in this case: 2.12.10 and we used it just where we need. We used scalaVersion to specify for each library what scala is used, so used flink will be flink-streaming-scala_2.12
Alex On Thu, Dec 19, 2019 at 3:40 PM Timo Walther <twal...@apache.org> wrote: > I see a mismatch between scalaBuildVersion and scalaVersion could this > be the issue? > > Regards, > Timo > > > On 19.12.19 14:33, Alexandru Vasiu wrote: > > This is a part of my Gradle config: > > > > ext { > > scalaVersion = '2.12' > > flinkVersion = '1.9.1' > > scalaBuildVersion = "${scalaVersion}.10" > > scalaMockVersion = '4.4.0' > > circeGenericVersion = '0.12.3' > > circeExtrasVersion = '0.12.2' > > pardiseVersion = '2.1.1' > > slf4jVersion = '1.7.7' > > log4jVersion = '1.2.17' > > sourceDir = 'src/main/scala' > > testDir = 'src/test/scala' > > } > > repositories { > > mavenCentral() > > //maven { url > > "https://repository.apache.org/content/repositories/snapshots/" } > > } > > configurations { > > scalaCompilerPlugin > > } > > dependencies { > > implementation "org.scala-lang:scala-library:${scalaBuildVersion}" > > // -------------------------------------------------------------- > > // Compile-time dependencies that should NOT be part of the > > // shadow jar and are provided in the lib folder of Flink > > // -------------------------------------------------------------- > > //compile "org.apache.flink:flink-java:${flinkVersion}" > > implementation > > "org.apache.flink:flink-streaming-scala_${scalaVersion}:${flinkVersion}" > > implementation > > "org.apache.flink:flink-connector-kafka_${scalaVersion}:${flinkVersion}" > > // -------------------------------------------------------------- > > // Dependencies that should be part of the shadow jar, e.g. > > // connectors. These must be in the flinkShadowJar configuration! > > // -------------------------------------------------------------- > > //flinkShadowJar > > > "org.apache.flink:flink-connector-kafka-0.11_${scalaBinaryVersion}:${flinkVersion}" > > // https://mvnrepository.com/artifact/io.circe/ > > implementation > > "io.circe:circe-generic_${scalaVersion}:${circeGenericVersion}" > > implementation > > "io.circe:circe-generic-extras_${scalaVersion}:${circeExtrasVersion}" > > implementation > > "io.circe:circe-parser_${scalaVersion}:${circeGenericVersion}" > > // https://mvnrepository.com/artifact/org.scalamacros/paradise > > scalaCompilerPlugin > > "org.scalamacros:paradise_${scalaBuildVersion}:${pardiseVersion}" > > implementation "log4j:log4j:${log4jVersion}" > > implementation "org.slf4j:slf4j-log4j12:${slf4jVersion}" > > // Add test dependencies here. > > //testImplementation "junit:junit:4.12" > > testImplementation "org.scalatest:scalatest_${scalaVersion}:3.1.0" > > // https://mvnrepository.com/artifact/org.scalamock/scalamock > > testImplementation > > "org.scalamock:scalamock_${scalaVersion}:${scalaMockVersion}" > > } > > > > So all are with the same scala version. I cannot share the code, but the > > main app looks like: > > > > val env = StreamExecutionEnvironment.getExecutionEnvironment > > val stream = env > > .addSource(KAFKA_STREAM) // this will get us a stream with our > > object model which is like this: case class A(a:Map[String, > > other_case_class_obj], b: List[other_case_class_obj], c: String) > > .flatMap(CustomFlatMap()) > > .print > > > > Thank you, > > Alex > > > > On Thu, Dec 19, 2019 at 3:14 PM Timo Walther <twal...@apache.org > > <mailto:twal...@apache.org>> wrote: > > > > That's sounds like a classloading or most likely dependency issue. > > > > Are all dependencies including Flink use the same Scala version? > Could > > you maybe share reproducible some code with us? > > > > Regards, > > Timo > > > > > > On 19.12.19 13:53, Alexandru Vasiu wrote: > > > I'm sorry for my last message, it might be incomplete. > > > > > > So I used case classed for my objects, but it doesn't work. > > > > > > Riching this error: "Exception in thread "main" > > > > > > > org.apache.flink.shaded.guava18.com.google.common.util.concurrent.ExecutionError: > > > > > java.lang.NoClassDefFoundError: scala/math/Ordering$$anon$9" when > > I'm > > > trying to apply the map/flatMap function over the stream (which > > is from > > > a Kafka consumer). > > > > > > > > > Alex > > > > > > On Thu, Dec 19, 2019 at 2:24 PM Alexandru Vasiu > > > <alexandru.ava...@gmail.com <mailto:alexandru.ava...@gmail.com> > > <mailto:alexandru.ava...@gmail.com > > <mailto:alexandru.ava...@gmail.com>>> wrote: > > > > > > I used `case class` for example case class A(a: Map[String, > > String]) > > > so it should work > > > > > > Alex > > > > > > On Thu, Dec 19, 2019 at 2:18 PM Timo Walther > > <twal...@apache.org <mailto:twal...@apache.org> > > > <mailto:twal...@apache.org <mailto:twal...@apache.org>>> > wrote: > > > > > > Hi Alex, > > > > > > the problem is that `case class` classes are analyzed by > > Scala > > > specific > > > code whereas `class` classes are analyzed with Java > specific > > > code. So I > > > would recommend to use a case class to make sure you stay > > in the > > > "Scala > > > world" otherwise the fallback is the Java-based > > TypeExtractor. > > > > > > For your custom Map, you can simply ignore this error > > message. > > > It will > > > fallback to the Java-based TypeExtractor and treat it as a > > > generic type > > > because it is not a POJO. > > > > > > I hope this helps. > > > > > > Regards, > > > Timo > > > > > > > > > On 19.12.19 12:41, Alexandru Vasiu wrote: > > > > Hi, > > > > > > > > I use flink-scala version 1.9.1 and scala 2.12.10, and > I > > > defined a data > > > > type which is a bit more complex: it has a list in it > > and even a > > > > dictionary. When I try to use a custom map I got this > > error: > > > > > > > > INFO > org.apache.flink.api.java.typeutils.TypeExtractor - > > > class A does > > > > not contain a setter for field fields > > > > INFO > org.apache.flink.api.java.typeutils.TypeExtractor - > > > class A cannot > > > > be used as a POJO type because not all fields are > > valid POJO > > > fields, and > > > > must be processed as GenericType. Please read the Flink > > > documentation on > > > > "Data Types & Serialization" for details of the effect > on > > > performance. > > > > > > > > Is there a fix for this? Or a workaround? > > > > > > > > Thank you, > > > > Alex > > > > > > >