apache / apache/cloudstack

False positive in UsageSanityChecker

Aperta
#13,446 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
component:usage-server
Lingua principale
Java
Stelle
3.1k
Fork
1.4k
Merge medio
6g 19h
PR unite (30g)
32

Descrizione

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_

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia da UsageSanityChecker.java tracciando il controllo «snapshot after removed» e la relativa query SQL su cloud_usage.cloud_usage e cloud.snapshots. Verifica perché l’istanza 4.22.1.0 in esecuzione segnala 160 record, quindi assicurati che il problema del conteggio dei falsi positivi sia risolto senza compromettere il mailer di Usage Sanity Check o l’output dell’esportatore Prometheus.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java, sql
Ambito
backend, cloud, databases, observability
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Tranquilla
Chiarezza
Da chiarire
Idoneità per principianti
38/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.