Skip to content

fix(sonarqube): make ensureUser idempotent on users/create race (400 already exists) #2633

Description

@shikanime

Contexte: campagne d'idempotence (#2605 #2623 #2624 #2626 #2627 #2632) corrigee sur registry/nexus/gitlab/vault-argocd/keycloak. SonarQube presente le meme defaut.

Constat: ensureUser (sonarqube.service.ts:203) appelle client.createUser (sonarqube-client.service.ts:291) -> POST users/create qui leve sur non-2xx. En double-sync concurrent, le 2e createUser recoit 400 'already exists' et crash le sync. ensureGroup (ligne 359) utilise deja read-then-create ; ensureUser doit appliquer la meme robustesse (tolerrer 400/409 'already exists' ou re-verifier l'existence avant POST).

Correction: ajouter une garde dans createUser/ensureUser cote client tolerant le statut deja-existant ; ajouter un test reproduisant la course.

Perimetre: sonarqube.service.ts (~211), sonarqube-client.service.ts (291), sonarqube.service.spec.ts.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions