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

[BE] 동시 요청 시 발생할 수 있는 중복 회원 생성 문제를 해결한다. #443

Closed
xxeol2 opened this issue Sep 15, 2023 · 1 comment · Fixed by #445
Closed
Assignees
Labels
BE 백엔드에 관련된 작업 🙋‍♀️ 제안 제안에 관한 작업

Comments

@xxeol2
Copy link
Member

xxeol2 commented Sep 15, 2023

✨ 세부 내용

image 한 유저의 회원가입 요청이 동시에 여러번 전송되면 같은 socialId & socialType인 유저가 여러명 생성됩니다.

따닥 문제로 동시에 요청이 두번 들어오면 두 요청 모두 findBySocialIdAndSocialType에서 orElseGet 플로우로 가 signUp메서드를 실행합니다.

이를 방지하기 위해 Member테이블의 (socialId, socialType) 복합 Unique 제약조건을 겁니다.
image

⏰ 예상 소요 시간

30분

@xxeol2 xxeol2 added BE 백엔드에 관련된 작업 🙋‍♀️ 제안 제안에 관한 작업 labels Sep 15, 2023
@xxeol2 xxeol2 changed the title [BE] 회원가입의 동시성 문제를 처리한다. [BE] 동시 요청 시 발생할 수 있는 중복 회원 생성 문제를 해결한다. Sep 15, 2023
@xxeol2
Copy link
Member Author

xxeol2 commented Sep 15, 2023

image AdminAuthService의 initializeRootAdmin 및 signUp 에서도 동일한 문제가 발생합니다.

이를 해결하기 위해 username에 Unique 제약조건을 지정합니다.
image

@xxeol2 xxeol2 self-assigned this Sep 17, 2023
seokjin8678 pushed a commit that referenced this issue Sep 18, 2023
* feat: member unique 제약조건 추가

* feat: admin unique 제약조건 추가

* feat: 회원 탈퇴시 로깅

* refactor: 회원 탈퇴시 social_id만 Null로 설정

* refactor: UNIQUE 제약조건 이름 수정

* feat: flyway 스크립트 추가

* test: Unique제약조건으로 깨지는 테스트 수정
@github-project-automation github-project-automation bot moved this from Todo to Done in 2023-festa-go Sep 18, 2023
BGuga pushed a commit that referenced this issue Oct 17, 2023
* feat: member unique 제약조건 추가

* feat: admin unique 제약조건 추가

* feat: 회원 탈퇴시 로깅

* refactor: 회원 탈퇴시 social_id만 Null로 설정

* refactor: UNIQUE 제약조건 이름 수정

* feat: flyway 스크립트 추가

* test: Unique제약조건으로 깨지는 테스트 수정
BGuga pushed a commit that referenced this issue Oct 17, 2023
* feat: member unique 제약조건 추가

* feat: admin unique 제약조건 추가

* feat: 회원 탈퇴시 로깅

* refactor: 회원 탈퇴시 social_id만 Null로 설정

* refactor: UNIQUE 제약조건 이름 수정

* feat: flyway 스크립트 추가

* test: Unique제약조건으로 깨지는 테스트 수정
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BE 백엔드에 관련된 작업 🙋‍♀️ 제안 제안에 관한 작업
Projects
Status: Done
1 participant