Skip to content

chore(flink): align the container runtime with the pinned 2.3.0 extra - #168

Merged
brownjuly2003-code merged 1 commit into
mainfrom
chore/s2-flink-2.3.0
Jul 9, 2026
Merged

chore(flink): align the container runtime with the pinned 2.3.0 extra#168
brownjuly2003-code merged 1 commit into
mainfrom
chore/s2-flink-2.3.0

Conversation

@brownjuly2003-code

Copy link
Copy Markdown
Owner

Why

Audit audit_07_07_26.md F2: pyproject.toml pins apache-flink==2.3.0, but every container ran 2.2.1 (src/processing/flink_jobs/Dockerfile ARG + flink:2.2.1-java17 in docker-compose.yml). The runtime was internally consistent, but a developer working against the 2.3.0 PyFlink could hit behaviour that does not exist on the deployed minor.

What

  • FLINK_VERSION ARG 2.2.12.3.0 (drives the dist download, the flink-s3-fs-hadoop plugin symlink, and the in-image pip install apache-flink==${FLINK_VERSION}).
  • Both official cluster images → flink:2.3.0-java17.
  • docs/architecture.md Technology Choices → Flink 2.3.
  • CHANGELOG under [Unreleased] (also records the S1 SDK lint gate that landed in chore(ci): put sdk/ under the ruff lint+format gate #167).

The one judgement call: the Kafka connector

flink-sql-connector-kafka is versioned <connector>-<flink minor>, and its newest published artifact is 5.0.0-2.2 — there is no -2.3 build on Maven Central (checked against maven-metadata.xml). Flink keeps @Public API stable inside a major, so the 2.2 build runs on a 2.3 cluster. Rather than assume that, the pin stays at 5.0.0-2.2, the reason is written at the ARG, and flink-smoke submits stream_processor.py to a real Kafka + MinIO + Flink cluster on this PR — that job accepting the graph and assigning a JobID is the assertion.

Verify

  • flink-smoke on this PR (built image, real cluster) — the gate for this change. Not verified locally: Docker is not run on this workstation.
  • Dist flink-2.3.0-bin-scala_2.12.tgz → HTTP 200 on archive.apache.org; flink:2.3.0-java17 exists on Docker Hub.

Closes F2 of the 07.07 audit (plan plan_07_07_26.md, S2).

🤖 Generated with Claude Code

pyproject pinned apache-flink==2.3.0 while every container ran 2.2.1
(flink_jobs image ARG + both flink:2.2.1-java17 cluster images), so local
development could exercise behaviour absent from the deployed minor.

Runtime moves to 2.3.0. The Kafka connector stays 5.0.0-2.2: the
externalised connector is versioned <connector>-<flink minor> and no -2.3
artifact is published; @public API is stable within a Flink major, and
flink-smoke submits the real job to a real cluster on every PR, so the
pairing is asserted, not assumed. Documented at the ARG.

docs/architecture.md Technology Choices reads Flink 2.3. Historical
records keep the version they were measured on.

Closes F2 of the 07.07 audit (plan_07_07_26.md, S2).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown

DORA Metrics

  • Window: last 30 days
  • Branch: main
  • Deployment frequency: 90 total / 21.0 per week
  • Lead time for changes: avg 0.44h / median 0.0h
  • Change failure rate: 60.0% (54/90)
  • MTTR: n/a across 0 incident(s)

MTTR note: No failed mainline CI runs in the selected window.

@brownjuly2003-code
brownjuly2003-code merged commit af20c9d into main Jul 9, 2026
23 checks passed
@brownjuly2003-code
brownjuly2003-code deleted the chore/s2-flink-2.3.0 branch July 9, 2026 02:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants