Skip to content

[HCR-425] Hotfix/hsc 425#287

Merged
bon0512 merged 7 commits into
mainfrom
hotfix/HSC-425
Apr 3, 2026
Merged

[HCR-425] Hotfix/hsc 425#287
bon0512 merged 7 commits into
mainfrom
hotfix/HSC-425

Conversation

@bon0512
Copy link
Copy Markdown
Contributor

@bon0512 bon0512 commented Apr 3, 2026

📝작업 내용

관리자 통계 api 속도를 줄이기 위한 쿼리튜닝, 인덱스, 캐시 처리


👀변경 사항

기능 영역 파일 변경 내용
캐시 기능 활성화 build.gradle spring-boot-starter-cache, caffeine 의존성 추가
캐시 기능 활성화 HolliverseApplication.java @EnableCaching 추가
캐시 정책 설정 application.yaml regional-metrics, regional-top-plans 캐시 spec 설정 추가
캐시 정책 설정 CacheConfig.java Caffeine 캐시 매니저 구성
캐시 이름 상수 정의
CompositeCacheManager 구현
관리자 통계 캐시 적용 RetrieveRegionalMetricUseCase.java @Cacheable(..., key = "#requestDto.yyyymm()", sync = true) 적용
관리자 통계 캐시 적용 RetrieveRegionalTopPlanUseCase.java @Cacheable(..., sync = true) 적용
조회 쿼리 개선 AdminRegionalTopPlanDao.java distinct → count(*) → row_number() 구조로 재작성

🎫 Jira Ticket

  • Jira Ticket: HCR-425

#️⃣관련 이슈


Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

이번 풀 리퀘스트는 관리자 통계 기능을 위한 캐싱 인프라 구축과 AdminRegionalTopPlanDao의 쿼리 성능 개선을 포함하고 있습니다. Caffeine 캐시를 도입하여 지역별 지표 및 요금제 데이터를 캐싱하도록 설정하였으며, jOOQ 쿼리를 리팩토링하여 중복 제거 및 카운트 로직을 최적화했습니다. 다만, 새로운 설정 클래스의 등록 방식이 프로젝트 스타일 가이드를 위반하고 있으며, 불필요한 코드와 표준 라이브러리 미사용, 그리고 데이터 타입 불일치 문제가 발견되어 수정이 필요합니다.

Comment thread src/main/java/site/holliverse/shared/config/cache/CacheConfig.java
Comment thread src/main/java/site/holliverse/shared/config/cache/CacheConfig.java Outdated
Comment thread src/main/java/site/holliverse/shared/config/cache/CacheConfig.java Outdated
@github-actions github-actions Bot added Admin Team deploy:admin-web 배포 대상: admin-web deploy:api-server 배포 대상: customer-api ☁️ area: INFRA 인프라/운영/배포 영역 🏷️ release 릴리즈 준비/버전 태깅/릴리즈 노트/릴리즈 브랜치 작업 🔥 priority: P0 즉시 처리 필요(서비스/데모 블로커) 🗂️ area: BE 백엔드 영역 🚑 hotfix 프로덕션 긴급 수정(우회/긴급 패치 포함) labels Apr 3, 2026
@github-actions github-actions Bot changed the title Hotfix/hsc 425 [HCR-425] Hotfix/hsc 425 Apr 3, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 3, 2026

🧪 Test Coverage Report (JaCoCo)

overall__line overall__branch changed__line changed__branch

기준(soft, workflow는 실패 안 함): Overall line 70% / branch 50%, Changed line 80% / branch 60% · Generated: 2026-04-03 18:05 UTC

Scope Line Branch Line Graph Branch Graph Verdict
Overall 39.0% 28.2% ████████░░░░░░░░░░░░ ██████░░░░░░░░░░░░░░ ⚠️⚠️
Changed 5.0% 0.0% █░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░ ⚠️⚠️

Package line spark (sample): ▃▂▁▂▂▄▄·▇█▁▆▆▆·▆▁▂▆█▇▃▁▁▁██▁▁▃
Package branch spark (sample): ▃▁·▁▁·▁·▇··▅▆▅·▅▁▂▅▇▇▂▁·▁·█▁▁▁

📦 Package coverage (worst 10)

Rank Package Line Branch Lines Line Graph Branch Graph
1 site.holliverse.shared.monitoring 0.0% N/A 125 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
2 site.holliverse.customer.coupon.application 0.0% 0.0% 61 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
3 site.holliverse.infra.kafka.consumer 0.0% 0.0% 44 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
4 site.holliverse.customer.integration.fastapi 0.0% 0.0% 28 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
5 site.holliverse.customer.application.usecase.counsel 0.0% 0.0% 14 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
6 site.holliverse.customer.coupon.web 0.0% 0.0% 12 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
7 site.holliverse.shared.config.runtime 0.0% N/A 11 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
8 site.holliverse.customer.web.util 0.0% 0.0% 8 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
9 site.holliverse.auth.handler 0.0% N/A 8 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
10 site.holliverse.admin.domain.model.churn.feature 0.0% N/A 8 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░

🧨 Lowest coverage classes (worst 10)

Rank Class Line Branch Lines Line Graph Branch Graph
1 site.holliverse.shared.monitoring.CustomerMetrics 0.0% N/A 98 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
2 site.holliverse.customer.application.usecase.log.UserLogService 0.0% 0.0% 62 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
3 site.holliverse.infra.kafka.consumer.RecommendationKafkaConsumer 0.0% 0.0% 44 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
4 site.holliverse.customer.application.usecase.recommendation.RecommendationKafkaConsumeUseCase 0.0% 0.0% 42 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
5 site.holliverse.admin.application.usecase.CalculateLogChurnScoreService 0.0% 0.0% 38 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
6 site.holliverse.admin.application.usecase.CalculateChurnScoreService 0.0% 0.0% 37 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
7 site.holliverse.customer.coupon.application.UseMemberCouponUseCase 0.0% 0.0% 34 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
8 site.holliverse.admin.application.usecase.ChurnRiskReason$ReasonCode 0.0% 0.0% 31 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
9 site.holliverse.customer.integration.fastapi.FastApiRecommendationClient 0.0% 0.0% 28 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
10 site.holliverse.shared.monitoring.CustomerMonitoringBinder 0.0% N/A 27 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
🧩 Changed files coverage breakdown (5 files)
File Line Branch Lines Verdict Line Graph Branch Graph
src/main/java/site/holliverse/admin/application/usecase/RetrieveRegionalTopPlanUseCase.java 0.0% 0.0% 19 ⚠️⚠️ ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
src/main/java/site/holliverse/admin/application/usecase/RetrieveRegionalMetricUseCase.java 100.0% N/A 1 ✅✅ ████████████████████ ░░░░░░░░░░░░░░░░░░░░
src/main/java/site/holliverse/HolliverseApplication.java N/A N/A 0 ✅✅ ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
src/main/java/site/holliverse/admin/query/dao/AdminRegionalTopPlanDao.java N/A N/A 0 ✅✅ ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
src/main/java/site/holliverse/shared/config/cache/CacheConfig.java N/A N/A 0 ✅✅ ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░

🔎 HTML 리포트: Actions → Artifacts → jacoco-html · XML: jacoco-xml

@bon0512 bon0512 added the release:patch 버전 patch bump: X.Y.(Z+1) label Apr 3, 2026
@bon0512 bon0512 merged commit bfa6d3d into main Apr 3, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Admin Team 🗂️ area: BE 백엔드 영역 ☁️ area: INFRA 인프라/운영/배포 영역 deploy:admin-web 배포 대상: admin-web deploy:api-server 배포 대상: customer-api 🚑 hotfix 프로덕션 긴급 수정(우회/긴급 패치 포함) 🔥 priority: P0 즉시 처리 필요(서비스/데모 블로커) release:patch 버전 patch bump: X.Y.(Z+1) 🏷️ release 릴리즈 준비/버전 태깅/릴리즈 노트/릴리즈 브랜치 작업

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant