Skip to content

feat(logs): cluster-wide log file download#34811

Queued
wezell wants to merge 5 commits intomainfrom
issue-34806-cluster-log-download
Queued

feat(logs): cluster-wide log file download#34811
wezell wants to merge 5 commits intomainfrom
issue-34806-cluster-log-download

Conversation

@wezell
Copy link
Contributor

@wezell wezell commented Feb 28, 2026

Summary

  • Adds new _downloadClusterLog REST endpoint that downloads a log file from all cluster nodes and returns them as a single ZIP archive
  • Each node's log is prefixed with a short server ID and hostname for easy identification
  • Inter-node communication supports HTTPS with fall back to HTTP
  • Adds a Dojo dialog to the log viewer UI letting users choose between downloading from this server or all cluster nodes
  • Makes the log viewer panel fill the full viewport height

Changes

  • ClusterLogCollector.java (new): Parallel HTTP/HTTPS fetcher that collects logs from peer servers, assembles them into a ZIP with an _errors.txt for any failures
  • MaintenanceResource.java: New _downloadClusterLog/{fileName} endpoint with short-lived JWT token for peer authentication
  • tail_log.jsp: Download button now opens a dialog with "This Server" / "All Cluster Nodes" options; log viewer fills viewport
  • Language.properties: New i18n keys for the download dialog
  • ClusterLogCollectorTest.java (new): Integration tests covering ZIP assembly, label formatting, error handling, and peer skip logic

Test plan

  • Integration tests pass: ClusterLogCollectorTest (6 tests)
  • Manual test: single-node download still works via dialog
  • Manual test: cluster download returns ZIP with logs from all nodes
  • Manual test: cluster download with unreachable node includes _errors.txt
  • Manual test: log viewer fills full viewport height

🤖 Generated with Claude Code

This PR fixes: #34806

@wezell wezell marked this pull request as ready for review February 28, 2026 21:15
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@wezell wezell requested review from dsilvam and yolabingo February 28, 2026 21:25
@wezell wezell requested a review from sfreudenthaler March 1, 2026 16:41
@wezell wezell enabled auto-merge March 2, 2026 01:40
@wezell wezell added this pull request to the merge queue Mar 5, 2026
Any commits made after this event will not be merged.
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to no response for status checks Mar 5, 2026
@wezell wezell added this pull request to the merge queue Mar 6, 2026
Any commits made after this event will not be merged.
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Mar 6, 2026
@wezell wezell added this pull request to the merge queue Mar 6, 2026
Any commits made after this event will not be merged.
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.

Add cluster-wide log file download endpoint

3 participants