Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remontées 5xx sur les metrics Scalingo #3108

Closed
francois-ferrandis opened this issue Nov 21, 2022 · 2 comments · Fixed by #3109
Closed

Remontées 5xx sur les metrics Scalingo #3108

francois-ferrandis opened this issue Nov 21, 2022 · 2 comments · Fixed by #3109
Assignees
Labels
Bug 🔴 bug tech ticket sans impact direct sur les fonctionnalités de l'app

Comments

@francois-ferrandis
Copy link
Contributor

francois-ferrandis commented Nov 21, 2022

Le contexte

Depuis le déploiement de Rails 7 (#3048), Scalingo nous remonte 2 erreurs 5xx par minute (le petit tapis rouge qui commence au moment du déploiement ci-dessous) :

image

Le support Scalingo nous a aidé à trouver les logs correspondants !

2022-11-20 16:50:29.857214671 +0100 CET [router] method=PROPFIND path="/principals/users/nom_prenom@ccas-chambery.fr" host=www.rdv-solidarites.fr request_id=1f4864f7-5dfc-4688-aec2-63d59047577d container=web-2 from="80.124.68.132" protocol=https status=501 duration=0.001s bytes=197 referer="-" user_agent="Zimbra ZCS/8.8.15_GA_4203 (20220121-0035)"
2022-11-20 16:50:29.778914427 +0100 CET [web-1] Unsupported HTTP method used: PROPFIND

2022-11-20 16:50:29.863419763 +0100 CET [router] method=PROPFIND path="/.well-known/caldav" host=www.rdv-solidarites.fr request_id=a7cf8465-abd2-465d-9d7e-b717280e6212 container=web-1 from="80.124.68.132" protocol=https status=501 duration=0.002s bytes=197 referer="-" user_agent="Zimbra ZCS/8.8.15_GA_4203 (20220121-0035)"
2022-11-20 16:50:29.793926160 +0100 CET [web-2] Unsupported HTTP method used: PROPFIND

Nous retournons donc des erreurs HTTP 501 ! https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/501

Ce comportement est vraisemblablement une nouveauté de Rails 7 ou puma 6.0, car avant la MAJ Rails 7 nous avions une 404 pour la même requête :

ActionController::RoutingError (No route matches [PROPFIND] "/principals/users/nom_prenom@ccas-chambery.fr"):

Que faut-il faire ?

Bien que la réponse HTTP 501 soit pertinente sémantiquement, le fait qu'elle remonte sur nos metrics comme une 5xx peut-être faussement alarmant. Nous pouvons donc essayer de faire en sorte que la requête retourne une 404 comme auparavant. D'autres solutions sont envisageables, n'hésitez pas à en proposer !

@francois-ferrandis francois-ferrandis added Bug 🔴 bug tech ticket sans impact direct sur les fonctionnalités de l'app labels Nov 21, 2022
@Holist
Copy link
Contributor

Holist commented Nov 21, 2022

Je suis curieux de savoir comment tu ferais pour retourner une 404 dans ce cas précis ? En te basant sur la méthode utilisée ? (Unsupported HTTP method used: PROPFIND)
Si c'est le cas, ce serai pour cette méthode en particulier uniquement ou dans tout les cas "Unsupported HTTP method" ?

@francois-ferrandis
Copy link
Contributor Author

francois-ferrandis commented Nov 21, 2022

Je suis curieux de savoir comment tu ferais pour retourner une 404 dans ce cas précis ? En te basant sur la méthode utilisée ? (Unsupported HTTP method used: PROPFIND) Si c'est le cas, ce serai pour cette méthode en particulier uniquement ou dans tout les cas "Unsupported HTTP method" ?

Je viens de creuser un peu : c'est un changement de puma, je pense qu'on peut utiliser la version 5 jusqu'à ce que la version 6 propose une façon d'autoriser les méthode HTTP exotiques !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug 🔴 bug tech ticket sans impact direct sur les fonctionnalités de l'app
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants