celeborn/openapi/openapi-client
Aravind Patnam ebfa1d8cf4 [CELEBORN-2014] updateInterruptionNotice REST API
### What changes were proposed in this pull request?
This PR is part of [CIP17: Interruption Aware Slot Selection](https://cwiki.apache.org/confluence/display/CELEBORN/CIP-17%3A+Interruption+Aware+Slot+Selection).
It introduces a REST api for external services to notify master about interruptions/schedules.

### Why are the changes needed?
To nofify master of upcoming interruption notices in the worker fleet. Master can then use these to proactively deprioritize workers that might be in scope for interruption sooner.

### Does this PR introduce _any_ user-facing change?
new rest api

### How was this patch tested?
added unit tests.

Closes #3285 from akpatnam25/CELEBORN-2014.

Authored-by: Aravind Patnam <akpatnam25@gmail.com>
Signed-off-by: SteNicholas <programgeek@163.com>
2025-06-06 14:07:49 +08:00
..
src/main [CELEBORN-2014] updateInterruptionNotice REST API 2025-06-06 14:07:49 +08:00
pom.xml [CELEBORN-1477][FOLLOWUP] Remove scala binary version from openapi-client artifactId 2024-11-01 15:08:00 +08:00
README.md [CELEBORN-1601][FOLLOWUP] Refine the RESTful apis for revise lost shuffles 2024-11-12 10:11:25 +08:00

Celeborn OpenAPI Client

Note: It is recommended to use under_score style naming for new RESTful APIs to maintain consistency.

To update the OpenAPI specification

  • just update the specification under openapi/openapi-client/src/main/openapi3/ and keep the schema definitions consistent between master and worker.
  • Install JDK 11 or above by whatever mechanism is appropriate for your system, and set that version to be the default Java version (e.g., by setting env variable JAVA_HOME)
  • run the following:
    build/mvn -pl openapi/openapi-client clean package -Pgenerate
    
    or
    build/sbt "clean;celeborn-openapi-client/generate"
    
    This will regenerate the OpenAPI data models + APIs in the celeborn-openapi-client SDK.