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

ClassNotFoundException while deserializing user exceptions from checkpointing

    XMLWordPrintableJSON

Details

    Description

      It seems that somewhere in the operator's failure handling, we hand a user-code exception to the checkpoint coordinator via Java serialization but it will then fail during the de-serialization because the class is not available. This will result in the following error shadowing the real one:

      java.lang.ClassNotFoundException: org.apache.flink.streaming.connectors.kafka.FlinkKafka011Exception
              at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
              at sun.misc.Launcher.loadClass(Launcher.java:338)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
              at java.lang.Class.forName0(Native Method)
              at java.lang.Class.forName(Class.java:348)
              at org.apache.flink.util.InstantiationUtil.resolveClass(InstantiationUtil.java:76)
              at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1859)
              at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1745)
              at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2033)
              at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1567)
              at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2278)
              at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:557)
              at java.lang.Throwable.readObject(Throwable.java:914)
              at sun.reflect.GeneratedMethodAccessor158.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:498)
              at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1158)
              at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2169)
              at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2060)
              at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1567)
              at java.io.ObjectInputStream.readObject(ObjectInputStream.java:427)
              at org.apache.flink.runtime.rpc.messages.RemoteRpcInvocation.readObject(RemoteRpcInvocation.java:222)
              at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:498)
              at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1158)
              at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2169)
              at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2060)
              at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1567)
              at java.io.ObjectInputStream.readObject(ObjectInputStream.java:427)
              at org.apache.flink.util.InstantiationUtil.deserializeObject(InstantiationUtil.java:502)
              at org.apache.flink.util.InstantiationUtil.deserializeObject(InstantiationUtil.java:489)
              at org.apache.flink.util.InstantiationUtil.deserializeObject(InstantiationUtil.java:477)
              at org.apache.flink.util.SerializedValue.deserializeValue(SerializedValue.java:58)
              at org.apache.flink.runtime.rpc.messages.RemoteRpcInvocation.deserializeMethodInvocation(RemoteRpcInvocation.java:118)
              at org.apache.flink.runtime.rpc.messages.RemoteRpcInvocation.getMethodName(RemoteRpcInvocation.java:59)
              at org.apache.flink.runtime.rpc.akka.AkkaRpcActor.handleRpcInvocation(AkkaRpcActor.java:214)
              at org.apache.flink.runtime.rpc.akka.AkkaRpcActor.handleRpcMessage(AkkaRpcActor.java:162)
              at org.apache.flink.runtime.rpc.akka.FencedAkkaRpcActor.handleRpcMessage(FencedAkkaRpcActor.java:70)
              at org.apache.flink.runtime.rpc.akka.AkkaRpcActor.onReceive(AkkaRpcActor.java:142)
              at org.apache.flink.runtime.rpc.akka.FencedAkkaRpcActor.onReceive(FencedAkkaRpcActor.java:40)
              at akka.actor.UntypedActor3728anonfun.applyOrElse(UntypedActor.scala:165)
              at akka.actor.Actor.aroundReceive(Actor.scala:502)
              at akka.actor.UntypedActor.aroundReceive(UntypedActor.scala:95)
              at akka.actor.ActorCell.receiveMessage(ActorCell.scala:526)
              at akka.actor.ActorCell.invoke(ActorCell.scala:495)
              at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)
              at akka.dispatch.Mailbox.run(Mailbox.scala:224)
              at akka.dispatch.Mailbox.exec(Mailbox.scala:234)
              at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
              at scala.concurrent.forkjoin.ForkJoinPool.runTask(ForkJoinPool.java:1339)
              at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
              at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
      

      Attachments

        Activity

          People

            dwysakowicz Dawid Wysakowicz
            nkruber Nico Kruber
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: