fix: /api/diagnostics 500 « dictionary changed size during iteration » (snapshot des dicts avant itération)
CI / lint (push) Successful in 2m3s
CI / security (push) Successful in 1m28s
CI / test (push) Successful in 4m27s
CI / build (push) Successful in 1m22s
CI / e2e (push) Successful in 13m54s

This commit is contained in:
2026-09-24 17:07:23 -04:00
parent 943005328c
commit a1d2457868
11 changed files with 65 additions and 16 deletions
+14 -1
View File
@@ -6,7 +6,7 @@ Format basé sur [Keep a Changelog](https://keepachangelog.com/fr/1.1.0/),
et [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
> **En cours de développement** : les changements à venir sont listés dans la section
> [Unreleased](#unreleased). La dernière version livrée est **2.25.0**.
> [Unreleased](#unreleased). La dernière version livrée est **2.25.1**.
---
@@ -14,6 +14,19 @@ et [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
---
## [2.25.1] — 2026-09-24
### Corrigé
- **`/api/diagnostics` — erreur 500 « dictionary changed size during iteration ».**
Le calcul des statistiques d'index itérait `inv.word_index` et `index` en
direct, pendant que l'indexeur les modifiait depuis un autre thread (build au
démarrage, hooks incrémentaux) : l'itérateur de dict levait `RuntimeError` et
l'endpoint renvoyait 500. Les deux dicts sont désormais **copiés avant
itération** (copie atomique sous le GIL), ce qui supprime la course.
---
## [2.25.0] — 2026-09-24
### Ajouté