fix(observability): pricing retry 记录 poison 锁静默丢弃——计费/重试账面无声清零
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 1/5
- Temps estimé
- Moins d'une heure
- Accessibilité débutants
- 82/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- rust
- Domaine
- observability
Piste de recherche
Commencez par RetryRecords::take à src/llm/pricing.rs:241 et vérifiez comment le cas d’un mutex empoisonné renvoie un résultat vide. Ajoutez l’avertissement suggéré pour ce cas et un test de régression qui confirme qu’il est observable. Le travail est terminé lorsque la perte due au verrou empoisonné est signalée au lieu que les enregistrements de nouvelle tentative et de facturation soient supprimés silencieusement.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
fix(observability): pricing retry 记录 poison 锁静默丢弃——计费/重试账面无声清零
优先级 P3 · 依赖:无
基线 HEAD = 880cff08(wt-b2,Goal 428 S4 扫描批)。来源:Goal 428 S4 全仓静默降级扫描,登记页 docs/architecture/degradation-registry.md。owner ruling:「任何降级必须可观测」。
Summary
src/llm/pricing.rs:241(RetryRecords::take):lock().map(take).unwrap_or_default()——mutex poisoned(持锁线程 panic 过)时整批累计 retry/计费记录静默丢弃返回空。- 后果:poison 后所有 retry 记录从账面消失,成本归集少计,无日志。
建议
poison 臂 tracing::warn!(「retry records lost to poisoned lock (degradation)」);回归钉一条。
- Langage dominant
- Rust
- Étoiles
- 4
- Forks
- 0
- Merge moyen
- 1 h 2 min
- PR mergées (30 j)
- 5
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Aucun modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de jeffkit/recursive
-
Difficulté 3/5 1-2 jours Accessibilité débutants 56/100
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
Toutes les issues de jeffkit/recursive
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
go good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
-
[Python] Worker.close() spins at 100% CPU when its teardown task is canceledPeut-être pris @Glutexo l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
taskforcesh/bullmq#5053 ·
Les mainteneurs répondent en général sous 1 jour
-
Cloud environment origin check accepts an explicit default HTTPS port (:443) (follow-up to #30418)Ouvertearea: cloud
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
manaflow-ai/cmux#31340 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour