Search code examples
apache-flinkflink-streamingcheckpoint

Where is the state stored by default if I do not configure a StateBackend?


In my program I have enabled checkpointing,

StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
env.enableCheckpointing(5000);

but I haven't configured any StateBackend.

Where is the checkpointed state stored? Can I somehow inspect this data?


Solution

  • The default state backend keeps the working state on the heaps of the various task managers, and backs that up to the job manager heap. This is the so-called MemoryStateBackend.

    There's no API for directly accessing the data stored in the state backend. You can simulate a task manager failure and observe that the state is restored. And you can instead trigger a savepoint if you wish to externalize the state, though there is no tooling for directly inspecting these savepoints.