celeborn/openapi/openapi-client
SteNicholas 54bbd72bd2 [CELEBORN-1697] Improve ThreadStackTrace for thread dump
### What changes were proposed in this pull request?

Improve `ThreadStackTrace` with `synchronizers`, `monitors`, `lockName`, `lockOwnerName`, `suspended`, `inNative` for thread dump.

### Why are the changes needed?

ThreadStackTrace does not support stack trace including `synchronizers`, `monitors`, `lockName`, `lockOwnerName`, `suspended`, `inNative` at present. It's recommend to improve `ThreadStackTrace` of thread dump for more details of thread stack trace.

### Does this PR introduce _any_ user-facing change?

The response of `ThreadStack` in `/api/v1/thread_dump` adds `synchronizers`, `monitors`, `lockName`, `lockOwnerName`, `suspended`, `inNative` fields.

Cherry pick:

- https://github.com/apache/spark/pull/42575
- https://github.com/apache/spark/pull/43095

### How was this patch tested?

`ApiV1BaseResourceSuite#thread_dump`

Closes #2888 from SteNicholas/CELEBORN-1697.

Authored-by: SteNicholas <programgeek@163.com>
Signed-off-by: mingji <fengmingxiao.fmx@alibaba-inc.com>
2024-11-07 20:36:58 +08:00
..
src/main [CELEBORN-1697] Improve ThreadStackTrace for thread dump 2024-11-07 20:36:58 +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-1477] Using openapi-generator apache-httpclient library instead of jersey2 2024-07-31 15:02:41 +08:00

Celeborn OpenAPI Client

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.