Skip to content

feat(maintenance): thread dump and info REST endpoints (#35205)#35463

Merged
hassandotcms merged 7 commits into
mainfrom
35205-task-implement-thread-dump-and-info-endpoints
May 19, 2026
Merged

feat(maintenance): thread dump and info REST endpoints (#35205)#35463
hassandotcms merged 7 commits into
mainfrom
35205-task-implement-thread-dump-and-info-endpoints

Conversation

@hassandotcms
Copy link
Copy Markdown
Member

@hassandotcms hassandotcms commented Apr 27, 2026

Adds GET /api/v1/maintenance/_threads and GET /api/v1/maintenance/_threads/info, returning structured JSON via Immutables-backed view classes. Replaces the legacy DWR ThreadMonitorTool which served HTML blobs and is unusable for the Angular Maintenance portlet rewrite. Both responses include serverId and serverName so the UI can identify which cluster node served the request.

This PR fixes: #35205

This PR fixes: #35205

Adds GET /api/v1/maintenance/_threads and GET /api/v1/maintenance/_threads/info,
returning structured JSON via Immutables-backed view classes. Replaces the
legacy DWR ThreadMonitorTool which served HTML <pre> blobs and is unusable for
the Angular Maintenance portlet rewrite. Both responses include serverId and
serverName so the UI can identify which cluster node served the request.
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Apr 27, 2026

Claude encountered an error after 0s —— View job


Claude encountered an error after 0s —— View job


I'll analyze this and get back to you.

@hassandotcms hassandotcms marked this pull request as ready for review May 7, 2026 11:24
…dpoints

Brings upstream main into the thread-diagnostics branch. Conflicts in
MaintenanceResource.java and openapi.yaml resolved by keeping both
feature sets: the new Thread Diagnostics endpoints from this branch and
the Fix/Clean Assets endpoints from main. openapi.yaml regenerated.
- Remove duplicate `java.util.ArrayList` import.
- Stop dropping thread descriptors when a thread terminates between
  `dumpAllThreads()` and the live-thread map snapshot. ThreadInfo still
  carries name, state and full stack, so emit the descriptor with
  conservative defaults (daemon=false, priority=NORM_PRIORITY) and the
  ThreadInfo's captured state instead of silently losing it.
- Force-include deadlocked threads regardless of `hideSystem`, so an
  operator triaging an incident never sees `deadlockedCount: 3` with
  zero deadlocked threads in the returned list.
@hassandotcms hassandotcms added this pull request to the merge queue May 18, 2026
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch May 18, 2026
…-implement-thread-dump-and-info-endpoints

# Conflicts:
#	dotCMS/src/main/java/com/dotcms/rest/api/v1/maintenance/MaintenanceResource.java
@hassandotcms hassandotcms enabled auto-merge May 19, 2026 00:16
@hassandotcms hassandotcms added this pull request to the merge queue May 19, 2026
Merged via the queue into main with commit 57e3be0 May 19, 2026
49 of 51 checks passed
@hassandotcms hassandotcms deleted the 35205-task-implement-thread-dump-and-info-endpoints branch May 19, 2026 02:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area : Backend PR changes Java/Maven backend code

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

[TASK] Implement thread dump and info endpoints

2 participants