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

Chi-Hsuan Huang updated HDDS-16753:
-----------------------------------
    Description: 
Follow-up to HDDS-16719.

{{OMMetrics.numSnapshotDeleted}} is incremented in {{OMSnapshotDeleteRequest}} 
when a snapshot is marked {{SNAPSHOT_DELETED}}, but nothing decrements it when 
{{SnapshotDeletingService}} purges that snapshot:

* {{OMSnapshotPurgeRequest}} removes the entry from {{snapshotInfoTable}} and 
only calls {{omSnapshotIntMetrics.incNumSnapshotPurges()}}.
* {{decNumSnapshotDeleted()}} has had no callers since it was added in 
HDDS-7506, and HDDS-16726 removes it as unused.

As a result, {{NumSnapshotDeleted}} keeps growing on a long-running OM and 
reflects "snapshots deleted since startup" rather than "snapshots waiting to be 
purged". The value is only corrected when {{updateActiveSnapshotMetrics()}} 
recounts the table on OM start or checkpoint reload. The bundled OM Snapshot 
dashboard plots this raw value, so the drift is visible there.

Proposed changes:

* Re-add {{decNumSnapshotDeleted()}} using {{decr()}} (the field is a gauge 
after HDDS-16719) and call it in {{OMSnapshotPurgeRequest}} for each snapshot 
actually purged, skipping the case where the snapshot is already gone from the 
table.
* Assert {{NumSnapshotDeleted}} in {{TestOMSnapshotPurgeRequestAndResponse}}.





  was:
Follow-up to HDDS-16719.

{{OMMetrics.numSnapshotDeleted}} is incremented in {{OMSnapshotDeleteRequest}} 
when a snapshot is marked {{SNAPSHOT_DELETED}}, but nothing decrements it when 
{{SnapshotDeletingService}} purges that snapshot:

* {{OMSnapshotPurgeRequest}} removes the entry from {{snapshotInfoTable}} and 
only calls {{omSnapshotIntMetrics.incNumSnapshotPurges()}}.
* {{decNumSnapshotDeleted()}} has had no callers since it was added in 
HDDS-7506.

As a result, {{NumSnapshotDeleted}} keeps growing on a long-running OM and 
reflects "snapshots deleted since startup" rather than "snapshots waiting to be 
purged". The value is only corrected when {{updateActiveSnapshotMetrics()}} 
recounts the table on OM start or checkpoint reload. The bundled OM Snapshot 
dashboard plots this raw value, so the drift is visible there.

Proposed changes:

* Call {{decNumSnapshotDeleted()}} in {{OMSnapshotPurgeRequest}} for each 
snapshot actually purged, skipping the case where the snapshot is already gone 
from the table.
* Assert {{NumSnapshotDeleted}} in {{TestOMSnapshotPurgeRequestAndResponse}}.





> NumSnapshotDeleted is not decremented when a snapshot is purged
> ---------------------------------------------------------------
>
>                 Key: HDDS-16753
>                 URL: https://issues.apache.org/jira/browse/HDDS-16753
>             Project: Apache Ozone
>          Issue Type: Bug
>          Components: Ozone Manager
>            Reporter: Chi-Hsuan Huang
>            Assignee: Chi-Hsuan Huang
>            Priority: Major
>
> Follow-up to HDDS-16719.
> {{OMMetrics.numSnapshotDeleted}} is incremented in 
> {{OMSnapshotDeleteRequest}} when a snapshot is marked {{SNAPSHOT_DELETED}}, 
> but nothing decrements it when {{SnapshotDeletingService}} purges that 
> snapshot:
> * {{OMSnapshotPurgeRequest}} removes the entry from {{snapshotInfoTable}} and 
> only calls {{omSnapshotIntMetrics.incNumSnapshotPurges()}}.
> * {{decNumSnapshotDeleted()}} has had no callers since it was added in 
> HDDS-7506, and HDDS-16726 removes it as unused.
> As a result, {{NumSnapshotDeleted}} keeps growing on a long-running OM and 
> reflects "snapshots deleted since startup" rather than "snapshots waiting to 
> be purged". The value is only corrected when 
> {{updateActiveSnapshotMetrics()}} recounts the table on OM start or 
> checkpoint reload. The bundled OM Snapshot dashboard plots this raw value, so 
> the drift is visible there.
> Proposed changes:
> * Re-add {{decNumSnapshotDeleted()}} using {{decr()}} (the field is a gauge 
> after HDDS-16719) and call it in {{OMSnapshotPurgeRequest}} for each snapshot 
> actually purged, skipping the case where the snapshot is already gone from 
> the table.
> * Assert {{NumSnapshotDeleted}} in {{TestOMSnapshotPurgeRequestAndResponse}}.



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