apache / apache/cloudstack

False positive in UsageSanityChecker

Ouverte
#13,446 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
component:usage-server
Langage dominant
Java
Étoiles
3.1k
Forks
1.4k
Merge moyen
6 j 19 h
PR mergées (30 j)
32

Description

The bug we're hitting is in a different subsystem: the Usage Sanity Check (UsageSanityChecker.java). Specifically the "snapshot after removed" check, whose query is roughly:


SELECT count(*)

FROM cloud_usage.cloud_usage cu
JOIN cloud.snapshots s ON cu.usage_id = s.id
WHERE cu.usage_type = 9
AND cu.start_date > s.removed;

i.e. usage records in cloud_usage.cloud_usage with a start_date AFTER the snapshot was already soft-deleted in cloud.snapshots. This drives the Usage Sanity Check failed mailer and feeds our Prometheus exporter.


On the running 4.22.1.0 (which includes 83ce006) we still see:

check | count
-- | --
snapshot_after_removed | 160
volume_after_removed | 36
template_after_removed | 0
vm_after_destroyed | 0

_Originally posted by @PPisz in https://github.com/apache/cloudstack/discussions/13398#discussioncomment-17321658_

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez dans UsageSanityChecker.java en retraçant la vérification « snapshot after removed » et sa requête SQL sur cloud_usage.cloud_usage et cloud.snapshots. Cherchez pourquoi l’instance 4.22.1.0 en cours d’exécution signale 160 enregistrements, puis vérifiez que le problème du décompte des faux positifs est résolu sans perturber le mailer de Usage Sanity Check ni la sortie de l’exportateur Prometheus.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java, sql
Domaine
backend, cloud, databases, observability
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Calme
Clarté
À clarifier
Accessibilité débutants
38/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.