From b758a0e09d616310957a6251ed0fbe2d979124ae Mon Sep 17 00:00:00 2001 From: Arthur Ria Date: Tue, 25 Aug 2026 15:55:36 +0200 Subject: [PATCH] Doc : consigner la fragilite de l'API AD sous concurrence (hors perimetre) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- ROADMAP.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ROADMAP.md b/ROADMAP.md index 9931535..1a19ab1 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -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