apache / apache/cloudstack

False positive in UsageSanityChecker

Aberta
#13,446 0 comentários 0 reações 0 responsáveis Ver no GitHub
component:usage-server
Linguagem predominante
Java
Estrelas
3.1k
Forks
1.4k
Merge médio
6d 19h
PRs com merge (30d)
32

Descrição

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_

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Comece em UsageSanityChecker.java rastreando a verificação “snapshot after removed” e sua consulta SQL em cloud_usage.cloud_usage e cloud.snapshots. Investigue por que a instância 4.22.1.0 em execução relata 160 registros e, em seguida, verifique se o problema da contagem de falsos positivos foi resolvido sem quebrar o mailer do Usage Sanity Check nem a saída do exportador Prometheus.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
java, sql
Domínio
backend, cloud, databases, observability
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Pouca atividade
Clareza
Precisa de esclarecimento
Facilidade para iniciantes
38/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.