-
Notifications
You must be signed in to change notification settings - Fork 479
Description
Description
dotCMS runs in a clustered environment and the existing MaintenanceResource provides an endpoint to download a log file from the server the user is connected to. However, in a cluster setup, logs are distributed across multiple nodes. We need a new endpoint that allows a user to download log files not only from the server they are directly connected to, but also from all other servers in the cluster.
This would greatly improve troubleshooting and debugging in clustered environments by providing a single request to collect logs across the entire cluster, rather than requiring the user to identify and connect to each node individually.
Acceptance Criteria
- New REST endpoint added to
MaintenanceResource(or related resource) that collects log files from all cluster nodes - The endpoint returns log files from the local server as well as all remote cluster members
- Log files from multiple nodes are packaged together (e.g., as a ZIP archive with node-identifying filenames)
- Each log file in the archive is clearly labeled with the server/node identifier it originated from
- The endpoint respects existing authentication and authorization requirements (admin-only access)
- Handles gracefully when a cluster node is unreachable (includes available logs, reports errors for unreachable nodes)
- Existing single-server log download endpoint remains unchanged for backward compatibility
Priority
Medium
Additional Context
The existing single-server log download functionality is in MaintenanceResource. The new endpoint should leverage the existing cluster communication infrastructure (e.g., Hazelcast or the cluster transport layer) to request log files from peer nodes. Consider timeout handling for slow or unresponsive nodes to avoid blocking the entire request.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status