docs(tableau) : la leçon du collecteur qui lisait la requête d'un seul read #1821

Merged
foXaCe merged 1 commit from docs/lecon-collecteur-requete into main 2026-10-17 14:20:12 +02:00
Collaborator

Deux traces pour le correctif du collecteur (#1820), aucun code touché.

LECONS.md — la leçon

Le même correctif avait été écrit six jours plus tôt dans le faux worker d'un banc (cad5ef01, « le faux worker lit la requête jusqu'à la fin des en-têtes »), et pas dans le vrai serveur. La doublure savait lire une requête en deux paquets ; le collecteur répondait sur un chemin tronqué. Corriger un banc ne corrige pas l'objet du banc.

Et la méthode : ce qui a mis sur la piste, c'est une mesure qui réussissait partout — la requête du service rejouée à la main (6/6), dans le sandbox du service (13/13), en rafale à huit connexions (24/24). Quand tout réussit sauf le vrai client, la différence n'est pas la charge. Un banc qui ne reproduit pas le symptôme ne l'innocente pas : six requêtes ne voient pas un tiers d'échec.

_tableau/LXC-132.md — la note d'exploitation

Les mesures qui ont tranché, la cause, le correctif (collecteur::http::lire_requete), et la pose sur le 130.

Y est écrit aussi, pour que le prochain ne le cherche pas : construire.sh --rust échoue dans le conteneur rust:1-alpine sur deux bancs de reglages (500 Internal Server Error au lieu de 200) que le même dépôt passe sur le PC (8/8). Défaut d'environnement du conteneur, étranger à ce correctif — les binaires ont été construits sur le PC en x86_64-unknown-linux-musl.

Deux traces pour le correctif du collecteur (#1820), **aucun code touché**. ## `LECONS.md` — la leçon Le même correctif avait été écrit **six jours plus tôt dans le faux worker d'un banc** (`cad5ef01`, « le faux worker lit la requête jusqu'à la fin des en-têtes »), et pas dans le vrai serveur. La doublure savait lire une requête en deux paquets ; le collecteur répondait sur un chemin tronqué. **Corriger un banc ne corrige pas l'objet du banc.** Et la méthode : ce qui a mis sur la piste, c'est une mesure qui **réussissait** partout — la requête du service rejouée à la main (6/6), dans le sandbox du service (13/13), en rafale à huit connexions (24/24). Quand tout réussit sauf le vrai client, la différence n'est pas la charge. Un banc qui ne reproduit pas le symptôme ne l'innocente pas : six requêtes ne voient pas un tiers d'échec. ## `_tableau/LXC-132.md` — la note d'exploitation Les mesures qui ont tranché, la cause, le correctif (`collecteur::http::lire_requete`), et la pose sur le 130. Y est écrit aussi, pour que le prochain ne le cherche pas : **`construire.sh --rust` échoue** dans le conteneur `rust:1-alpine` sur deux bancs de `reglages` (`500 Internal Server Error` au lieu de `200`) que le même dépôt **passe sur le PC** (8/8). Défaut d'environnement du conteneur, étranger à ce correctif — les binaires ont été construits sur le PC en `x86_64-unknown-linux-musl`.
docs(tableau): la leçon du collecteur qui lisait la requête d'un seul read
All checks were successful
Tests du tableau (Rust + Svelte) / Front Svelte (_tableau/front) (pull_request) Successful in 1m57s
Tests du tableau (Rust + Svelte) / Rust (_tableau/rust) (pull_request) Successful in 7m25s
af276331ce
Le correctif du collecteur (#1820) mérite ses deux traces : la leçon générale dans `LECONS.md` — un
correctif appliqué au BANC ne corrige pas l'objet du banc, et un banc qui ne reproduit pas le symptôme
ne l'innocente pas —, et la note d'exploitation dans `_tableau/LXC-132.md`, avec les mesures qui ont
tranché (celles qui réussissaient partout sauf chez le vrai client) et la pose sur le 130.

`construire.sh --rust` échoue dans le conteneur `rust:1-alpine` sur deux bancs de `reglages` (500 au
lieu de 200) que le dépôt passe sur le PC (8/8) : défaut d'environnement du conteneur, écrit ici pour
que le prochain ne le cherche pas.
foXaCe merged commit 4612ff38d3 into main 2026-10-17 14:20:12 +02:00
foXaCe deleted branch docs/lecon-collecteur-requete 2026-10-17 14:20:13 +02:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
foXaCe/studio!1821
No description provided.