You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2026/09/29 06:17:00 UTC
[jira] [Commented] (YARN-10421) Create YarnDiagnosticsService to serve diagnostic queries
[ https://issues.apache.org/jira/browse/YARN-10421?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18120531#comment-18120531 ]
ASF GitHub Bot commented on YARN-10421:
---------------------------------------
Hean-Chhinling opened a new pull request, #8762:
URL: https://github.com/apache/hadoop/pull/8762
### Description of PR
This PR is part of the [YARN-10323 [Umbrella] YARN Diagnostic collector](https://issues.apache.org/jira/browse/YARN-10323).
It aims is to expose 2 new endpoints on ResourceManager for calling the python `diagnostic_collector.py`:
1. `{rm_address}/ws/v1/cluster/common-issues/list` list out the available issues, e.g.
```
{
"issue": [
{
"name": "application_diagnostic",
"parameters": [
"appId"
]
},
{
"name": "scheduler_related_issue"
}
]
}
```
2. `{rm_address}/ws/v1/cluster/common-issues/collect?issueId={}?args={}/, e.g.
`http://locahost:8088/ws/v1/cluster/common-issues/collect?issueId=application_diagnostic?args=application_1740465819367_0009`
Example of the response:
```
{
"generatedAt": "2026-09-29T02:24:30.345Z",
"appId": "application_1789971760389_0001",
"issueId": "application_diagnostic",
"issueData": {
"file": [
{
"content": "......",
"contentType": "text/plain",
"filename": "application_jstack"
},
"file": [
{
"content": "......",
"contentType": "text/plain",
"filename": "application_jstack"
}
]
}
}
```
This PR depends on the following PRs:
1. https://github.com/apache/hadoop/pull/8123 for new JStacks endpoints.
2. https://github.com/apache/hadoop/pull/8742 for python diagnostic collector script
### How was this patch tested?
Tested in locally and in High Availability environment cluster.
Also there is a unit-test for the new DiagnosticService class.
### For code changes:
- [ ] Does the title of this PR start with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?
- [ ] Object storage: Have the integration tests been executed and the endpoint
declared according to the connector-specific documentation? *Note: Automated CI
testing doesn't cover all cases so manual testing with cloud storage is still
required.*
- [ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under [ASF 2.0](http://www.apache.org/legal/resolved.html#category-a)?
- [ ] If applicable, have you updated the `LICENSE`, `LICENSE-binary`, `NOTICE-binary` files?
### AI Tooling
If an AI tool was used:
- [ ] The PR includes the phrase "Contains content generated by <tool>"
where <tool> is the name of the AI tool used.
- [ ] My use of AI contributions follows the ASF legal policy
https://www.apache.org/legal/generative-tooling.html
> Create YarnDiagnosticsService to serve diagnostic queries
> ----------------------------------------------------------
>
> Key: YARN-10421
> URL: https://issues.apache.org/jira/browse/YARN-10421
> Project: Hadoop YARN
> Issue Type: Sub-task
> Reporter: Benjamin Teke
> Assignee: chhinlinghean
> Priority: Major
> Labels: pull-request-available
> Attachments: YARN-10421.001.patch, YARN-10421.002.patch, YARN-10421.003.patch, YARN-10421.004.patch
>
>
> YarnDiagnosticsServlet should run inside ResourceManager Daemon. The servlet forks a separate process, which executes a shell/Python/etc script. Based on the use-cases listed below the script collects information, bundles it and sends it to UI2. The diagnostic options are the following:
> # Application hanging:
> ** Application logs
> ** Find the hanging container and get multiple Jstacks
> ** ResourceManager logs during job lifecycle
> ** NodeManager logs from NodeManager where the hanging containers of the jobs ran
> ** Job configuration from MapReduce HistoryServer, Spark HistoryServer, Tez History URL
> # Application failed:
> ** Application logs
> ** ResourceManager logs during job lifecycle.
> ** NodeManager logs from NodeManager where the hanging containers of the jobs ran
> ** Job Configuration from MapReduce HistoryServer, Spark HistoryServer, Tez History URL.
> ** Job related metrics like container, attempts.
> # Scheduler related issue:
> ** ResourceManager Scheduler logs with DEBUG enabled for 2 minutes.
> ** Multiple Jstacks of ResourceManager
> ** YARN and Scheduler Configuration
> ** Cluster Scheduler API _/ws/v1/cluster/scheduler_ and Cluster Nodes API _/ws/v1/cluster/nodes response_
> ** Scheduler Activities _/ws/v1/cluster/scheduler/bulkactivities_ response (YARN-10319)
> # ResourceManager / NodeManager daemon fails to start:
> ** ResourceManager and NodeManager out and log file
> ** YARN and Scheduler Configuration
> Two new endpoints should be added to the RM web service: one for listing the available diagnostic options (_/common-issue/list_), and one for calling a selected option with the user provided parameters (_/common-issue/collect_).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: yarn-issues-help@hadoop.apache.org