Skip to content

[Bug] Flink Dedicated Streaming Compact Job Is Stuck When Its Checkpointed Snapshot Has Expired #9533

Description

@lilei1128

Search before asking

  • I searched in the issues and found nothing similar.

Paimon version

paimon 1.3.1

Compute Engine

Flink 1.16

Minimal reproduce step

  1. Start a checkpoint-enabled Flink Dedicated Streaming Compact job.
  2. Wait until a checkpoint records snapshot N as the next source cursor.
  3. Commit newer snapshots.
  4. Explicitly trigger snapshot expiration, or use a non-write-only table whose commit path performs expiration, so that snapshot N is removed.
  5. Trigger Flink failover and restore from the checkpoint.
  6. Observe repeated OutOfRangeException for snapshot N.

What doesn't meet your expectations?

A Flink Dedicated Streaming Compact job can become permanently stuck after recovering from a checkpoint whose next snapshot has already been removed by
Paimon snapshot retention.

After recovery, the job continues reading the expired snapshot ID and fails with OutOfRangeException. Flink retries the job from the same checkpoint, so
every restart uses the same invalid snapshot ID. The job never advances to a valid snapshot and cannot self-recover.

Typical error:

OutOfRangeException: Snapshot does not exist or has expired

Image

Anything else?

No

Are you willing to submit a PR?

  • I'm willing to submit a PR!

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions