Skip to content

fix: 팀원 모집글 연속 작성의 중복 side effect 방지 - #2389

Merged
taejinn merged 1 commit into
developfrom
fix/2376-team-recruitment-create-duplicate-guard
Sep 2, 2026
Merged

fix: 팀원 모집글 연속 작성의 중복 side effect 방지#2389
taejinn merged 1 commit into
developfrom
fix/2376-team-recruitment-create-duplicate-guard

Conversation

@taejinn

@taejinn taejinn commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

🔍 개요

  • 같은 사용자가 동일한 모집글 생성 요청을 짧은 시간 안에 반복할 때 모집글과 TEAM 방의 중복 생성을 차단합니다.

🚀 주요 변경 내용

  • 기존 KOIN DuplicateGuard를 사용자 ID와 동일 request payload 기준으로 적용합니다.
  • 동일 요청을 300ms 안에 반복하면 두 번째 요청에 409 REQUEST_TOO_FAST를 반환합니다.
  • payload가 다르거나 300ms가 지난 요청은 정상 처리합니다.
  • Redis 장애는 기존 DuplicateGuard 공통 정책과 동일한 fail-closed 500으로 처리합니다.

💬 참고 사항

  • 영향
    • 심각도는 P2 운영 안전장치이며 클라이언트는 기존 요청 payload만으로 호출합니다.
    • 생성 service의 중복 side effect 경계를 보강합니다.
  • 검증
    • 동일 payload 연속 요청의 side effect 1회, 서로 다른 payload 허용, 350ms 경과 요청 허용을 확인했습니다.
    • 관련 테스트와 git diff --check가 통과했습니다.

✅ Checklist (완료 조건)

  • 코드 스타일 가이드 준수
  • 테스트 코드 포함됨
  • Reviewers / Assignees / Labels 지정 완료
  • 보안 및 민감 정보 검증 (API 키, 환경 변수, 개인정보 등)

@taejinn taejinn added 버그 정상적으로 동작하지 않는 문제상황입니다. 공통 백엔드 공통으로 작업할 이슈입니다. labels Aug 31, 2026
@coderabbitai

coderabbitai Bot commented Aug 31, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 4 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: de83e59f-253e-4e90-be01-bcc7788aa22c

📥 Commits

Reviewing files that changed from the base of the PR and between b78fa4a and c3a9317.

📒 Files selected for processing (3)
  • src/main/java/in/koreatech/koin/domain/team/recruitment/controller/TeamRecruitmentApi.java
  • src/main/java/in/koreatech/koin/domain/team/recruitment/service/TeamRecruitmentService.java
  • src/test/java/in/koreatech/koin/acceptance/domain/TeamRecruitmentArticleContractApiTest.java

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Aug 31, 2026

Copy link
Copy Markdown

Unit Test Results

1 110 tests   1 107 ✔️  2m 3s ⏱️
   248 suites         3 💤
   248 files           0

Results for commit c3a9317.

♻️ This comment has been updated with latest results.

@taejinn
taejinn force-pushed the fix/2376-team-recruitment-create-duplicate-guard branch from e05e71b to 9104d38 Compare September 2, 2026 11:28
@taejinn
taejinn marked this pull request as ready for review September 2, 2026 12:58
@taejinn
taejinn requested review from dnjswldnd-3513 and insik03 and removed request for DHkimgit and JanooGwan September 2, 2026 13:03
@taejinn
taejinn force-pushed the fix/2376-team-recruitment-create-duplicate-guard branch from 9104d38 to c3a9317 Compare September 2, 2026 15:12
@taejinn
taejinn merged commit 199149c into develop Sep 2, 2026
6 checks passed
@taejinn
taejinn deleted the fix/2376-team-recruitment-create-duplicate-guard branch September 2, 2026 15:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

공통 백엔드 공통으로 작업할 이슈입니다. 버그 정상적으로 동작하지 않는 문제상황입니다.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[공통] 팀원 모집글 연속 작성 시 중복 게시글과 TEAM 방 생성 가능

2 participants