Skip to content

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

Merged
shikanime merged 1 commit into
mainfrom
fix/sonarqube-create-user-idempotent
Sep 8, 2026
Merged

fix(server-nestjs): make SonarQube user creation idempotent on create race#2639
shikanime merged 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 <[email protected]>
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
Comment thread apps/server-nestjs/src/modules/sonarqube/sonarqube.utils.ts
@shikanime
shikanime added this pull request to the merge queue Sep 7, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Sep 7, 2026
@shikanime shikanime added the preview Deploy preview app with Argo-cd label Sep 8, 2026
@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

🤖 Hey !

A preview of the application is available at : https://console-pr-2639.dso.cpin-hp.numerique-interieur.fr

Please be patient, deployment may take a few minutes.

@shikanime
shikanime added this pull request to the merge queue Sep 8, 2026
Merged via the queue into main with commit 1b29ad6 Sep 8, 2026
64 checks passed
@shikanime
shikanime deleted the fix/sonarqube-create-user-idempotent branch September 8, 2026 13:06
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 preview Deploy preview app with Argo-cd

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants