[ 
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]

Reply via email to