Skip to content

fix: 인기순 검색에서 스냅샷 없는 주류 누락 수정 - #746

Closed
Whale0928 wants to merge 1 commit into
mainfrom
feat/결과-개수-불일치

Hidden character warning

The head ref may contain hidden characters: "feat/\uacb0\uacfc-\uac1c\uc218-\ubd88\uc77c\uce58"
Closed

fix: 인기순 검색에서 스냅샷 없는 주류 누락 수정#746
Whale0928 wants to merge 1 commit into
mainfrom
feat/결과-개수-불일치

Conversation

@Whale0928

@Whale0928 Whale0928 commented Sep 5, 2026

Copy link
Copy Markdown
Collaborator

브랜치 이름 변경으로 PR #747로 옮겼습니다. 동일한 커밋과 변경 내용을 유지합니다.

인기순 검색이 최신 HOUR 인기 점수 스냅샷과 INNER JOIN되어, 같은 검색어로 랜덤 검색에 나타나는 주류가 리뷰 작성의 인기순 검색에서는 빠지는 문제를 수정합니다. 운영에서 벤로막 검색은 POPULAR 31개, RANDOM 34개였고 차이 ID는 5090, 5096, 5695였습니다.

  • 인기순 후보 조회를 LEFT JOIN으로 바꾸고 스냅샷이 없는 주류의 점수는 정렬·커서 비교에서 0으로 취급합니다. 동점은 ID 오름차순으로 정렬합니다.
  • 스냅샷이 전혀 없는 상태도 검색하며, 첫 페이지의 스냅샷 부재를 서명된 커서에 기록하여 다음 페이지 전에 배치가 실행돼도 같은 기준을 유지합니다. 기존 날짜형 bucketAt 커서는 계속 지원합니다.
  • 검색 대상 일치, 부분·전체 스냅샷 부재, 0점 동점의 ASC/DESC 페이지 연속성, 삭제·평점 필터 및 잘못된 커서의 회귀 테스트를 보강합니다.
  • 검색 API 문서에 동일 필터에서 정렬은 순서만 바꾼다는 기준을 명시합니다.

프론트엔드, DB 스키마, 배치, 운영 데이터는 변경하지 않습니다.

검증은 요청에 따라 로컬 실행 없이 PR 생성 후 GitHub Actions CI #698에서 수행했습니다. 대상 커밋은 b8d28d6d71b9742935746c964d2faa2d546890b1이며 모든 CI 작업과 전체 빌드가 통과했습니다.

  • 단위·배치 인기 점수 테스트: 1,029건 통과
  • 아키텍처 규칙 테스트: 66건 통과
  • Product 통합 테스트: 378건 통과, 이 중 검색 통합 테스트 32건 통과
  • Admin 통합 테스트: 280건 통과
  • 업로드된 JUnit XML 합계: 1,753건, 실패·오류·건너뜀 모두 0건
  • 전체 빌드: ./gradlew build -x test --build-cache --parallel 통과

운영 반영 후 데이터가 같다면 정렬 방식과 관계없이 검색 ID 집합이 일치해야 합니다. 이번 검증은 테스트 환경에서 수행했으며 운영 배포나 부하 측정은 수행하지 않았습니다.

관련 이슈: bottle-note/workspace#438

@Whale0928 Whale0928 closed this Sep 5, 2026
@Whale0928
Whale0928 deleted the feat/결과-개수-불일치 branch September 5, 2026 03:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant