[ 
https://issues.apache.org/jira/browse/HDDS-15060?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sammi Chen resolved HDDS-15060.
-------------------------------
    Fix Version/s: 2.2.0
       Resolution: Fixed

> [Recon] globalStorage.totalOzoneUsedSpace inconsistent with sum of 
> dataNodeUsage due to non-atomic snapshot
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: HDDS-15060
>                 URL: https://issues.apache.org/jira/browse/HDDS-15060
>             Project: Apache Ozone
>          Issue Type: Sub-task
>          Components: Ozone Recon
>            Reporter: Priyesh K
>            Assignee: Priyesh K
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 2.2.0
>
>
> The {{/storageDistribution}} API in Recon reports 
> {{globalStorage.totalOzoneUsedSpace}} that can differ from the sum of 
> {{used}} across all entries in {{{}dataNodeUsage{}}}. This happens because 
> the two datasets are collected in two separate, sequential calls — 
> {{collectDatanodeReports()}} followed by {{calculateGlobalStorageReport()}} — 
> with no locking between them. A DataNode heartbeat arriving between the two 
> calls updates the in-memory storage state, causing each half of the response 
> to reflect a different snapshot of cluster storage. Additionally, 
> {{getNodeStats()}} (used for the global total) only aggregates HEALTHY, 
> HEALTHY_READONLY, and STALE nodes, while {{getAllNodes()}} (used for the 
> per-DN list) returns all registered nodes including DEAD ones, creating a 
> structural asymmetry on top of the timing issue.



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