[
https://issues.apache.org/jira/browse/HDDS-14913?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Arafat Khan reassigned HDDS-14913:
----------------------------------
Assignee: Arafat Khan
> Implement Scalable CSV Export for Unhealthy Containers in Recon UI
> ------------------------------------------------------------------
>
> Key: HDDS-14913
> URL: https://issues.apache.org/jira/browse/HDDS-14913
> Project: Apache Ozone
> Issue Type: Sub-task
> Components: Ozone Recon
> Reporter: Arafat Khan
> Assignee: Arafat Khan
> Priority: Major
>
> *Problem:* Currently, exporting a large number of unhealthy container records
> (e.g., Missing, Under-Replicated, Mis-Replicated, etc.) from Recon is
> difficult. The UI is paginated and cannot efficiently handle downloading
> millions of records. Administrators often have to rely on manual,
> non-scalable database extraction methods (like connecting the Derby {{ij}}
> client) to analyze cluster health data.
> *Solution:* This ticket implements a native, scalable CSV export feature
> directly in the Recon UI and Backend.
> # *Frontend:* Added an "{*}Export CSV{*}" button to the Recon Containers
> page with a dropdown selector allowing administrators to quickly extract data
> blocks ranging from 10K up to 5 Million records based on their currently
> active diagnostic tab (Missing, Under-Replicated, etc).
> # *Backend:* Added a new REST endpoint
> ({{{}/api/v1/containers/unhealthy/export{}}}) that uses jOOQ cursors and
> JAX-RS {{StreamingOutput}} to fetch and stream records lazily. By piping data
> directly from the Derby database to the HTTP response, the JVM heap memory is
> protected from OutOfMemory errors, regardless of scale.
> # *Security & Limits:* The endpoint sits behind Recon's robust
> {{@AdminOnly}} authorization. Additionally, a new configuration property
> {{ozone.recon.csv.export.max.records}} (default: 5,000,000) was introduced to
> forcefully cap exports, protecting the server connection pool and worker
> threads from accidental misuse or abuse.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]