Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-11274

Scala 2.12 Kryo serialization bug

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Not A Problem
    • 1.7.1
    • None
    • None
    • None
    • Flink 1.7.1

      Scala 2.12.8

    Description

      The following code works well for serializing Scala classes, e.g., SortedSet[T], without problem in 1.7.0.

      ```
      env.getConfig.registerTypeWithKryoSerializer(
      classOf[ClosureSerializer.Closure],
      classOf[ClosureSerializer]
      )
      ```

      However, in 1.7.1 the following error occurs when checkpointing.
      ```
      Serialization trace:
      cmp$2 (scala.math.Ordering$$anon$6)
      at com.esotericsoftware.kryo.util.DefaultClassResolver.readName(DefaultClassResolver.java:138)
      at com.esotericsoftware.kryo.util.DefaultClassResolver.readClass(DefaultClassResolver.java:115)
      at com.esotericsoftware.kryo.Kryo.readClass(Kryo.java:641)
      at com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:99)
      at com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:528)
      at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:761)
      at com.twitter.chill.SortedSetSerializer.read(SortedSetSerializer.scala:38)
      at com.twitter.chill.SortedSetSerializer.read(SortedSetSerializer.scala:21)
      at com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:657)
      at org.apache.flink.api.java.typeutils.runtime.kryo.KryoSerializer.copy(KryoSerializer.java:231)
      at org.apache.flink.api.scala.typeutils.CaseClassSerializer.copy(CaseClassSerializer.scala:101)
      at org.apache.flink.api.scala.typeutils.CaseClassSerializer.copy(CaseClassSerializer.scala:32)
      at org.apache.flink.runtime.state.heap.CopyOnWriteStateTable.get(CopyOnWriteStateTable.java:287)
      at org.apache.flink.runtime.state.heap.CopyOnWriteStateTable.get(CopyOnWriteStateTable.java:311)
      at org.apache.flink.runtime.state.heap.HeapValueState.value(HeapValueState.java:73)
      at org.apache.flink.streaming.api.scala.function.StatefulFunction.applyWithState(StatefulFunction.scala:41)
      at org.apache.flink.streaming.api.scala.function.StatefulFunction.applyWithState$(StatefulFunction.scala:40)
      at org.apache.flink.streaming.api.scala.KeyedStream$$anon$3.applyWithState(KeyedStream.scala:591)
      at org.apache.flink.streaming.api.scala.KeyedStream$$anon$3.flatMap(KeyedStream.scala:596)
      at org.apache.flink.streaming.api.operators.StreamFlatMap.processElement(StreamFlatMap.java:50)
      at org.apache.flink.streaming.runtime.io.StreamInputProcessor.processInput(StreamInputProcessor.java:202)
      at org.apache.flink.streaming.runtime.tasks.OneInputStreamTask.run(OneInputStreamTask.java:105)
      at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:300)
      at org.apache.flink.runtime.taskmanager.Task.run(Task.java:704)
      at java.lang.Thread.run(Thread.java:748)
      Caused by: java.lang.ClassNotFoundException: io.connecterra.stateful.AggregationSlidingWindowStateUpdater$$$Lambda$506/497325684
      at java.lang.Class.forName0(Native Method)
      at java.lang.Class.forName(Class.java:348)
      at com.esotericsoftware.kryo.util.DefaultClassResolver.readName(DefaultClassResolver.java:136)
      ... 24 common frames omitted
      ```

      Attachments

        Activity

          People

            Unassigned Unassigned
            Zhen-hao Zhenhao Li
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: