Skip to content

Flink 1.18: cross-line savepoint upgrade and mixed-payload safety #188

Open

Description

@Flanderzz

Shipped

PR #198 supplies line-qualified Flink 1.18 artifacts and loader identity validation. PR #200 validates installed loader, core and extension metadata before JobManager or TaskManager starts. Mixed or unmarked payloads exit with an actionable diagnostic; mismatches name both lines, including renamed extension JARs.

The optimized Linux image checks pass all six tests on each line with zero skips: four startup/admission cases, native extension loading, and native SQL in a real Session cluster. Docker execution is verified. This does not establish cross-line state compatibility or Podman support.

Remaining work

Build a real-cluster canonical savepoint upgrade suite for Flink 1.18.1 to 2.2 at the same StreamFusion release. This is the intended direction, not yet a supported production guarantee.

  • Cover grouped aggregate, updating join, deduplicate, Top-N and window aggregate state shapes using real release artifacts and native-execution evidence.
  • Feed an input prefix on 1.18, stop with a canonical savepoint, restore on 2.2, feed the suffix, and compare the result with an uninterrupted single-version run.
  • Exercise increased and decreased parallelism, verifying every key group exactly once.
  • Prove a 2.2-to-1.18 restore attempt fails with an explicit actionable message.
  • Run the container suite with Podman as well as Docker through Testcontainers configuration. Keep clear local skips when no container runtime exists and require execution in the CI lanes that claim coverage.

Keep native state encoding line-independent and let Flink own canonical savepoint format, UID matching and key-group assignment. Update docs/deployment.md only with guarantees actually demonstrated by these tests.

Split from #182. Mixed-payload startup safety is complete; cross-line upgrades and Podman validation remain open.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions