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