Doc : consigner la fragilite de l'API AD sous concurrence (hors perimetre)

Anomalie mesuree pendant le lot 6, hors de son perimetre parce qu'elle est
cote serveur AD : sous rafale de 14 tools/call, POST /AD/api/Workflow/
GetByApplication repond HTTP 500 pour EasyWMS (~4000 workflows), les memes
appels passant en sequentiel.

D27 l'attenue fortement — un seul fetch par cle au lieu de N, et le 500 n'a
plus reparu sur aucun des rejeux post-correctif — sans la supprimer : des cles
differentes se chargent toujours en parallele, par conception (D26). Consigne
en point ouvert avec la mise en garde qui va avec : brider les chargements
paralleles couterait de la latence sur le chemin nominal, donc pas de code
avant une mesure qui le justifie.

Documentation seule, aucun changement de code.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Arthur Ria
2026-08-25 15:55:36 +02:00
parent 242b0c0f1c
commit b758a0e09d
+10
View File
@@ -114,6 +114,16 @@ plus riche que `/AD/api/Application/GetAll`), `GET /healthcheck?tenantCode=` et
est **traitée** (D27 : single-flight par clé, garde de génération) ; celle-ci
ne l'est pas — D27 borne les chargements paresseux, pas le routage d'une
requête déjà partie.
- **L'API AD échoue sous appels concurrents nombreux** (mesuré le 25/08/2026,
lot 6). Avant D27, une rafale de 14 `tools/call` faisait répondre **HTTP 500**
à `POST /AD/api/Workflow/GetByApplication` pour `EasyWMS` (~4 000 workflows) —
les 4 appels concernés en erreur, les mêmes corrects en séquentiel. C'est une
limite du serveur AD, pas du MCP. D27 l'atténue fortement (un seul fetch par
clé au lieu de N, et le 500 n'a pas reparu depuis), sans la supprimer : des
clés **différentes** se chargent toujours en parallèle. À reconsidérer si le
500 réapparaît — piste : plafonner le nombre de chargements simultanés, tous
clés confondues. N'implémentez rien avant d'avoir une mesure : brider les
chargements parallèles coûte de la latence sur le chemin nominal.
- **`select_expression`** : les projections via le paramètre `Select` provoquent
des erreurs de compilation côté serveur (D13). Irritant principal restant.
- **Déploiement SSH sur la VM** : l'exécutable est validé, la configuration SSH