Hi all :wave: I’m working on FLINK-39176: Node Hea...
# dev
z
Hi all 👋 I’m working on FLINK-39176: Node Health Management & Node Quarantine Framework in Apache Flink, aiming to provide a unified mechanism for node-level quarantine and health management, with slot-allocation integration and operational visibility. The feature is split into 6 small, independently reviewable PRs: PR-1 – Introduce NodeHealthManager Abstraction https://github.com/apache/flink/pull/27701 Introduce
NodeHealthManager
interface Provide
Default
and
NoOp
implementations • Integrated into
ResourceManager
(no behavior change, backward compatible) PR-2 – Integrate NodeHealthManager with Slot Filtering https://github.com/apache/flink/pull/27711 Integrate health check into
FineGrainedSlotManager
Skip quarantined TaskManagers during slot allocation • Backward compatible via
NoOpNodeHealthManager
PR-3 – Add REST API for Node Quarantine https://github.com/apache/flink/pull/27712 • Add REST endpoints: POST quarantine DELETE quarantine GET list • Extend
ResourceManagerGateway
PR-4 – Configuration Support for Node Quarantine https://github.com/apache/flink/pull/27714 • Add
ManagementOptions
config:
node-quarantine.enabled
node-quarantine.default-duration
node-quarantine.max-duration
• Rename “management blocklist” → “node quarantine” (avoid confusion with FLIP-224) PR-5 – Expiration Cleanup Scheduler https://github.com/apache/flink/pull/27715 • Add scheduled expiration cleanup for quarantined nodes • Prevent stale entries accumulation PR-6 – Web UI Node Health Page https://github.com/apache/flink/pull/27716 • Add Web UI page for node quarantine visibility • Operational observability improvement This framework ensures: • No slot allocation on unhealthy/quarantined nodes • Clear separation from FLIP-224 speculative blocklist • Fully configurable and operationally manageable Would really appreciate reviews, especially on: • ResourceManager integration • Slot filtering semantics • REST API design consistency • Config naming and compatibility Thanks in advance 🙏