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

State handling does not support deserializing classes through the UserCodeClassloader

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • 0.9, 0.10.0
    • 0.10.0
    • None
    • None

    Description

      The current implementation of the state checkpointing does not support custom classes, because the UserCodeClassLoader is not used to deserialize the state.

      Error: java.lang.RuntimeException: Failed to deserialize state handle and setup initial operator state.
      at org.apache.flink.runtime.taskmanager.Task.run(Task.java:544)
      at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.ClassNotFoundException: com.ottogroup.bi.searchlab.searchsessionizer.OperatorState
      at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      at java.lang.Class.forName0(Native Method)
      at java.lang.Class.forName(Class.java:348)
      at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:626)
      at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1613)
      at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1518)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1774)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)
      at org.apache.flink.runtime.state.ByteStreamStateHandle.getState(ByteStreamStateHandle.java:63)
      at org.apache.flink.runtime.state.ByteStreamStateHandle.getState(ByteStreamStateHandle.java:33)
      at org.apache.flink.streaming.api.operators.AbstractUdfStreamOperator.restoreInitialState(AbstractUdfStreamOperator.java:83)
      at org.apache.flink.streaming.runtime.tasks.StreamTask.setInitialState(StreamTask.java:276)
      at org.apache.flink.runtime.state.StateUtils.setOperatorState(StateUtils.java:51)
      at org.apache.flink.runtime.taskmanager.Task.run(Task.java:541)
      

      The issue has been reported by a user: http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/Custom-Class-for-state-checkpointing-td2415.html

      Attachments

        Activity

          People

            rmetzger Robert Metzger
            rmetzger Robert Metzger
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: