featzhang opened a new pull request, #27712:
URL: https://github.com/apache/flink/pull/27712
## What is the purpose of the change
This PR implements REST API endpoints for node quarantine management,
completing Phase 3 of the node health management mechanism. It provides HTTP
endpoints for manual quarantine operations and node health status querying.
This PR builds on PR #27701 (NodeHealthManager abstraction) and PR #27711
(Slot Filtering integration).
## Brief change log
- Added NodeQuarantineRequestBody and NodeQuarantineResponseBody for API
data transfer
- Created NodeQuarantineListResponseBody for listing quarantined nodes with
detailed information
- Implemented NodeQuarantineHeaders with proper REST API versioning support
- Added NodeQuarantineHandler for quarantining nodes via POST
/cluster/nodes/{nodeId}/quarantine
- Added NodeRemoveQuarantineHandler for removing quarantine via DELETE
/cluster/nodes/{nodeId}/quarantine
- Added NodeQuarantineListHandler for listing quarantined nodes via GET
/cluster/nodes/quarantine
- Extended ResourceManagerGateway interface with quarantine management
methods
- Implemented gateway methods in ResourceManager with proper async handling
- Registered REST endpoints in WebMonitorEndpoint for HTTP access
- Added comprehensive unit tests for all REST handlers covering success and
error scenarios
## Verifying this change
This change is verified by:
- New unit tests in NodeQuarantineHandlerTest covering all three REST
endpoints
- Existing unit tests continue to pass
- Manual testing of REST endpoints shows correct JSON responses
- Compilation succeeds with mvnw spotless:apply install -DskipTests -Pfast
## Does this pull request potentially affect
- Public API: Yes, adds new REST endpoints for node quarantine management
- Serializers: No
- The runtime per-record code paths: No
- Anything that affects deployment or recovery: JobManager failover: No
- The S3 file system connector: No
## Documentation
- Does this pull request introduce a new feature: Yes, REST API for node
quarantine management
- If yes, how is the feature documented: REST endpoint documentation in code
comments. Full user documentation will be added in subsequent PRs along with
configuration options.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]