Skip to content

[TECH] Limite les appels concurrentiels au endpoint de calcul de prochaine épreuve en certification via un mutex Redis (pix-22855)#16103

Merged
pix-service-auto-merge merged 7 commits into
devfrom
tech-add-mutex-to-get-next-certif
May 22, 2026
Merged

[TECH] Limite les appels concurrentiels au endpoint de calcul de prochaine épreuve en certification via un mutex Redis (pix-22855)#16103
pix-service-auto-merge merged 7 commits into
devfrom
tech-add-mutex-to-get-next-certif

Conversation

@laura-bergoens
Copy link
Copy Markdown
Member

@laura-bergoens laura-bergoens commented May 5, 2026

💥 Problème

Aujourd'hui, pour éviter plusieurs créations d'épreuves pour un même stade d'examen (race condition), on met un lock sur la ligne de la table assessments concernés via un SELECT FOR UPDATE.

Plusieurs problèmes :

  • Empêche l'édition de l'assessment par un tiers (exemple : fin de test de certification par le surveillant)
  • Remet à PG la responsabilité de gérer un lock
  • Le lock PG est bloquant, c'est à dire que les clients qui essayent de faire un SELECT FOR UPDATE sur la même ligne sont mis en attente. En cas de fort trafic, et si tout dégénère, cela aggrave les problèmes car on agrandit la file d'attente.

👩‍🚀 Proposition

Pour le projet ChatPix a été implémenté un mutex via Redis. On utilise ce mutex.

Côté front, mise en place d'un retry (répétition à définir)

👁️ Remarques

♻️ Pour tester

@laura-bergoens laura-bergoens requested a review from a team as a code owner May 5, 2026 07:15
@pix-bot-github
Copy link
Copy Markdown

@laura-bergoens laura-bergoens force-pushed the tech-introduce-challenge-to-play-model branch from 1a17475 to 4a120a1 Compare May 5, 2026 13:33
@laura-bergoens laura-bergoens requested a review from a team as a code owner May 5, 2026 13:33
@laura-bergoens laura-bergoens force-pushed the tech-introduce-challenge-to-play-model branch 3 times, most recently from 8828fcb to df559b5 Compare May 11, 2026 08:58
@laura-bergoens laura-bergoens self-assigned this May 11, 2026
@laura-bergoens laura-bergoens force-pushed the tech-introduce-challenge-to-play-model branch 6 times, most recently from 75675be to 7a5a7e5 Compare May 19, 2026 14:20
Base automatically changed from tech-introduce-challenge-to-play-model to dev May 19, 2026 14:37
@laura-bergoens laura-bergoens force-pushed the tech-add-mutex-to-get-next-certif branch from 0e4df15 to 495ed5c Compare May 19, 2026 15:34
@laura-bergoens laura-bergoens removed request for a team May 19, 2026 15:34
@laura-bergoens laura-bergoens force-pushed the tech-add-mutex-to-get-next-certif branch 2 times, most recently from de5840c to 202f277 Compare May 19, 2026 18:41
@yaf yaf changed the title [TECH] Limite les appels concurrentiels au endpoint de calcul de prochaine épreuve en certification via un mutex Redis [TECH] Limite les appels concurrentiels au endpoint de calcul de prochaine épreuve en certification via un mutex Redis (pix-22855) May 22, 2026
@laura-bergoens laura-bergoens force-pushed the tech-add-mutex-to-get-next-certif branch from 202f277 to 645d214 Compare May 22, 2026 12:40
@laura-bergoens laura-bergoens added Tech Review OK and removed 👀 Tech Review Needed 👀 Func Review Needed Need PO validation for this functionally labels May 22, 2026
@pix-service-auto-merge pix-service-auto-merge force-pushed the tech-add-mutex-to-get-next-certif branch from fb9e86a to e8d0e50 Compare May 22, 2026 13:10
@pix-service-auto-merge pix-service-auto-merge merged commit 63121c5 into dev May 22, 2026
8 of 9 checks passed
@pix-service-auto-merge pix-service-auto-merge deleted the tech-add-mutex-to-get-next-certif branch May 22, 2026 13:18
pix-service pushed a commit that referenced this pull request May 25, 2026
# [5.413.0](v5.412.0...v5.413.0) (2026-05-25)

### 🚀 Amélioration

- [#16280](#16280) Ajouter la colonne description à la table trainings (PIX-22852)
- [#16277](#16277) Contextualiser les informations de certificats provenant du back (PIX-22375).
- [#16290](#16290) dernieres modifs virus nov
- [#16286](#16286) FRI modifs module phishing ind avant panel
- [#16289](#16289) Module Phishing_NOV modif sur une consigne
- [#16276](#16276) Visualiser le détail d'une certification d'un candidat (PIX-22536).

### 🏗️ Tech

- [#16285](#16285) 📦 Force la mise à jour de Braces en version 3.0.3 minimum
- [#16282](#16282) Corriger les bugs d'affichage des dates sur PixAdmin (PIX-22828)#16269
- [#16103](#16103) Limite les appels concurrentiels au endpoint de calcul de prochaine épreuve en certification via un mutex Redis (pix-22855)

### ☕ Autre
@pix-service
Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 5.413.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants