fatmanverse opened a new issue, #18420:
URL: https://github.com/apache/dolphinscheduler/issues/18420

   ### Search before asking
   
   - [X] I had searched in the 
[issues](https://github.com/apache/dolphinscheduler/issues?q=is%3Aissue) and 
found no similar feature requirement.
   
   ### Description
   
   Currently task instance / workflow instance logs are kept on the master and 
worker local disks forever. On long-running clusters the log base directory 
grows without bound and there is no built-in way to reclaim space or set a 
retention policy.
   
   This feature proposes an optional local task-log archiver:
   
   1. **Enable/disable archiving** — a master switch 
(`task-log-archive.enabled`), disabled by default so upgraded clusters keep 
their current behavior.
   2. **Archive logs older than a threshold** — daily log partitions older than 
`task-log-archive.archive-threshold` (default 30d) are compressed into a 
per-day zip under `{logBase}/archive/{yyyyMMdd}.zip`, and the source directory 
is removed to reclaim space. Optional expiry (`task-log-archive.expire-enabled` 
/ `expire-threshold`) permanently deletes zips past a longer threshold; off by 
default so archiving alone never drops data.
   3. **View archived logs online** — the existing log-view path transparently 
falls back to reading the log entry out of its archive zip when the original 
file is gone, so no UI or API change is needed. Zip (not tar.gz) is used so a 
single entry can be random-read cheaply.
   
   The archiver runs as a plain daemon on both master and worker (each holds 
the task logs it physically wrote); it is not leader-gated. It lives in 
`dolphinscheduler-common` so master and worker share one implementation.
   
   ### Use case
   
   Operators running DolphinScheduler for months/years need a retention policy 
for instance logs: compress old logs to save disk, optionally expire very old 
archives, while still being able to open an archived log from the UI for 
auditing/troubleshooting.
   
   ### Related issues
   
   _No response_
   
   ### Are you willing to submit a PR?
   
   - [X] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [X] I agree to follow this project's [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: 
[email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to