Skip to content

fix(server-nestjs): make SonarQube user creation idempotent on create race - #2639

Open
shikanime wants to merge 1 commit into
mainfrom
fix/sonarqube-create-user-idempotent
Open

fix(server-nestjs): make SonarQube user creation idempotent on create race#2639
shikanime wants to merge 1 commit into
mainfrom
fix/sonarqube-create-user-idempotent

Conversation

@shikanime

Copy link
Copy Markdown
Member

Issues liées

#2633 (fermer délibérément après la fusion)


Quel est le comportement actuel ?

Lors de la synchronisation SonarQube d'un projet, ensureUser appelle client.createUser (POST users/create). Sous synchronisations concurrentes, la seconde création reçoit une erreur 400 « already exists » (ou 409) et interrompt toute la synchronisation du projet.

Quel est le nouveau comportement ?

createUser applique le motif ensure partagé par la campagne d'idempotence (#2624, #2627, #2605) : à la création, une collision (409, ou 4xx dont le message évoque une ressource déjà présente) déclenche une relecture de l'utilisateur existant via users/search, qui est retournée à la place. Toute autre erreur est relancée telle quelle.

  • Ajout de isSonarqubeAlreadyExists et ensure dans sonarqube.utils.ts, calqués sur les utilitaires gitlab/nexus.
  • Tests unitaires : collision avec relecture, rejet des erreurs non collision, et couverture du garde isSonarqubeAlreadyExists.

Cette PR introduit-elle un breaking change ?

Non.

Autres informations

Suit #2605 #2623 #2624 #2626 #2627 #2632.

… race

Refs: #2633
Signed-off-by: William Phetsinorath <william.phetsinorath-open@interieur.gouv.fr>
Change-Id: Ib4be9a86e1f36e06b70daf1975411f0f6a6a6964
@shikanime shikanime self-assigned this Sep 1, 2026
@shikanime shikanime added the bug Something isn't working label Sep 1, 2026
@shikanime shikanime added this to the 9.25.0 milestone Sep 1, 2026
@shikanime
shikanime requested review from almorelle and removed request for almorelle September 1, 2026 12:09
@github-actions github-actions Bot added the built label Sep 1, 2026
@shikanime
shikanime marked this pull request as ready for review September 1, 2026 12:13
@shikanime
shikanime requested a review from a team as a code owner September 1, 2026 12:13
@shikanime
shikanime enabled auto-merge September 1, 2026 12:13
@cloud-pi-native-sonarqube

Copy link
Copy Markdown

@shikanime shikanime modified the milestones: 9.25.0, 9.26.0 Sep 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working built

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant