Galen Warren created FLINK-25873: ------------------------------------ Summary: Using RocksDB state backend causes java.lang.ClassNotFoundException: org.apache.flink.runtime.state.CheckpointStreamFactory$CheckpointStateOutputStream Key: FLINK-25873 URL: https://issues.apache.org/jira/browse/FLINK-25873 Project: Flink Issue Type: Bug Components: Runtime / State Backends Affects Versions: 1.15.0 Reporter: Galen Warren Fix For: 1.15.0
>From the current master branch, attempting to use the RocksDb state backend >yields this error when a checkpoint write is attempted: {quote}{{Caused by: java.lang.NoClassDefFoundError: org/apache/flink/runtime/state/CheckpointStreamFactory$CheckpointStateOutputStream}} {{ at org.apache.flink.contrib.streaming.state.snapshot.RocksIncrementalSnapshotStrategy.asyncSnapshot(RocksIncrementalSnapshotStrategy.java:180)}} {{ at org.apache.flink.contrib.streaming.state.snapshot.RocksIncrementalSnapshotStrategy.asyncSnapshot(RocksIncrementalSnapshotStrategy.java:83)}} {{ at org.apache.flink.runtime.state.SnapshotStrategyRunner.snapshot(SnapshotStrategyRunner.java:80)}} {{ at org.apache.flink.contrib.streaming.state.RocksDBKeyedStateBackend.snapshot(RocksDBKeyedStateBackend.java:551)}} {{ at org.apache.flink.streaming.api.operators.StreamOperatorStateHandler.snapshotState(StreamOperatorStateHandler.java:242)}} {{ at org.apache.flink.streaming.api.operators.StreamOperatorStateHandler.snapshotState(StreamOperatorStateHandler.java:170)}} {{ at org.apache.flink.streaming.api.operators.AbstractStreamOperator.snapshotState(AbstractStreamOperator.java:348)}} {{ at org.apache.flink.streaming.runtime.tasks.RegularOperatorChain.checkpointStreamOperator(RegularOperatorChain.java:227)}} {{ at org.apache.flink.streaming.runtime.tasks.RegularOperatorChain.buildOperatorSnapshotFutures(RegularOperatorChain.java:212)}} {{ at org.apache.flink.streaming.runtime.tasks.RegularOperatorChain.snapshotState(RegularOperatorChain.java:192)}} {{ at org.apache.flink.streaming.runtime.tasks.SubtaskCheckpointCoordinatorImpl.takeSnapshotSync(SubtaskCheckpointCoordinatorImpl.java:647)}} {{ at org.apache.flink.streaming.runtime.tasks.SubtaskCheckpointCoordinatorImpl.checkpointState(SubtaskCheckpointCoordinatorImpl.java:320)}} {{ at org.apache.flink.streaming.runtime.tasks.StreamTask.lambda$performCheckpoint$12(StreamTask.java:1251)}} {{ at org.apache.flink.streaming.runtime.tasks.StreamTaskActionExecutor$1.runThrowing(StreamTaskActionExecutor.java:50)}} {{ at org.apache.flink.streaming.runtime.tasks.StreamTask.performCheckpoint(StreamTask.java:1239)}} {{ at org.apache.flink.streaming.runtime.tasks.StreamTask.triggerCheckpointOnBarrier(StreamTask.java:1196)}} {{ at org.apache.flink.streaming.runtime.io.checkpointing.CheckpointBarrierHandler.notifyCheckpoint(CheckpointBarrierHandler.java:147)}} {{ at org.apache.flink.streaming.runtime.io.checkpointing.SingleCheckpointBarrierHandler.triggerCheckpoint(SingleCheckpointBarrierHandler.java:287)}} {{ at org.apache.flink.streaming.runtime.io.checkpointing.SingleCheckpointBarrierHandler.access$100(SingleCheckpointBarrierHandler.java:64)}} {{ at org.apache.flink.streaming.runtime.io.checkpointing.SingleCheckpointBarrierHandler$ControllerImpl.triggerGlobalCheckpoint(SingleCheckpointBarrierHandler.java:493)}} {{ at org.apache.flink.streaming.runtime.io.checkpointing.AbstractAlignedBarrierHandlerState.triggerGlobalCheckpoint(AbstractAlignedBarrierHandlerState.java:74)}} {{ at org.apache.flink.streaming.runtime.io.checkpointing.AbstractAlignedBarrierHandlerState.barrierReceived(AbstractAlignedBarrierHandlerState.java:66)}} {{ at org.apache.flink.streaming.runtime.io.checkpointing.SingleCheckpointBarrierHandler.lambda$processBarrier$2(SingleCheckpointBarrierHandler.java:234)}} {{ at org.apache.flink.streaming.runtime.io.checkpointing.SingleCheckpointBarrierHandler.markCheckpointAlignedAndTransformState(SingleCheckpointBarrierHandler.java:262)}} {{ at org.apache.flink.streaming.runtime.io.checkpointing.SingleCheckpointBarrierHandler.processBarrier(SingleCheckpointBarrierHandler.java:231)}} {{ at org.apache.flink.streaming.runtime.io.checkpointing.CheckpointedInputGate.handleEvent(CheckpointedInputGate.java:181)}} {{ at org.apache.flink.streaming.runtime.io.checkpointing.CheckpointedInputGate.pollNext(CheckpointedInputGate.java:159)}} {{ at org.apache.flink.streaming.runtime.io.AbstractStreamTaskNetworkInput.emitNext(AbstractStreamTaskNetworkInput.java:110)}} {{ at org.apache.flink.streaming.runtime.io.StreamOneInputProcessor.processInput(StreamOneInputProcessor.java:65)}} {{ at org.apache.flink.streaming.runtime.tasks.StreamTask.processInput(StreamTask.java:517)}} {{ at org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor.runMailboxLoop(MailboxProcessor.java:203)}} {{ at org.apache.flink.streaming.runtime.tasks.StreamTask.runMailboxLoop(StreamTask.java:802)}} {{ at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:751)}} {{ at org.apache.flink.runtime.taskmanager.Task.runWithSystemExitMonitoring(Task.java:948)}} {{ at org.apache.flink.runtime.taskmanager.Task.restoreAndInvoke(Task.java:927)}} {{ at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:741)}} {{ at org.apache.flink.runtime.taskmanager.Task.run(Task.java:563)}} {{ at java.lang.Thread.run(Thread.java:748)}} {quote} {{It looks to me that [CheckpointStreamFactory|https://github.com/apache/flink/blob/e2f609c92918d669f2a1c0b69184878d691e3097/flink-runtime/src/main/java/org/apache/flink/runtime/state/CheckpointStreamFactory.java#L31] does not contain a nested type CheckpointStateOutputStream, but that it is rather a top-level class now ([here|[http://example.com])|http://example.com]%29/] per this [commit|[https://github.com/apache/flink/commit/72b0e9f2b0ab8478268a26845719791a7f25834c].]}} {{When I get this error, I'm configuring the backend in code, i.e.:}} {quote}env.setStateBackend(new EmbeddedRocksDBStateBackend(true)) {quote} -- This message was sent by Atlassian Jira (v8.20.1#820001)