Skip to content

v1.7.2#271

Merged
tkv00 merged 3 commits into
mainfrom
hotfix/HSC-416
Mar 29, 2026
Merged

v1.7.2#271
tkv00 merged 3 commits into
mainfrom
hotfix/HSC-416

Conversation

@tkv00
Copy link
Copy Markdown
Contributor

@tkv00 tkv00 commented Mar 29, 2026

📝작업 내용


👀변경 사항


🎫 Jira Ticket

  • Jira Ticket: HSC-416

#️⃣관련 이슈


@tkv00 tkv00 added 🗂️ area: BE 백엔드 영역 🚑 hotfix 프로덕션 긴급 수정(우회/긴급 패치 포함) 🔥 priority: P0 즉시 처리 필요(서비스/데모 블로커) 🏷️ release 릴리즈 준비/버전 태깅/릴리즈 노트/릴리즈 브랜치 작업 release:patch 버전 patch bump: X.Y.(Z+1) deploy:api-server 배포 대상: customer-api labels Mar 29, 2026
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

이번 PR은 Grafana 모니터링 관련 문서 및 대시보드 파일을 삭제하고, 비동기 실행 설정을 CustomerRuntimeInfraConfiguration으로 통합했습니다. 리뷰 결과, 주요 모니터링 자산 삭제에 대한 소명 및 대안 마련이 필요하며, 특히 인프라 설정을 직접 통합하는 방식은 프로젝트의 스타일 가이드(규칙 5)인 모듈형 인프라 관리 전략에 위배됩니다. 아키텍처의 일관성을 유지하기 위해 AsyncConfig를 별도 모듈로 유지하고 ENUM 전략을 통해 활성화할 것을 권장합니다.

I am having trouble creating individual review comments. Click here to see my feedback.

monitoring/grafana/README.md (1-55)

high

이 README 파일은 Grafana 대시보드와 노출되는 Prometheus 메트릭에 대한 중요한 정보를 담고 있습니다. 이 파일이 제거되면, 운영 중인 시스템을 모니터링하거나 새로운 팀원이 관련 내용을 파악하기 어려워집니다. 만약 이 문서가 다른 위치로 이동되었거나 새로운 모니터링 체계로 대체되었다면, 관련 내용을 PR 설명에 추가해주시기 바랍니다. 문서 없이 코드로만 관리되는 모니터링은 유지보수가 어렵습니다.

monitoring/grafana/holliverse-customer-observability-dashboard.json (1-452)

high

Customer 서비스의 핵심 관측성을 책임지는 Grafana 대시보드 JSON 파일이 제거되었습니다. 이로 인해 서비스의 상태, 성능, 에러를 시각적으로 추적할 수 없게 되어 장애 대응 및 운영에 심각한 위험을 초래할 수 있습니다. 이 파일이 제거된 특별한 이유가 있나요? 만약 대시보드를 코드로 관리하는 정책이 변경되었다면, 해당 내용을 공유해주시고 대안적인 모니터링 방안을 명시해주시기 바랍니다.

src/main/java/site/holliverse/shared/config/runtime/CustomerRuntimeInfraConfiguration.java (21-47)

medium

AsyncConfig의 내용을 CustomerRuntimeInfraConfiguration으로 통합하는 것은 리포지토리 스타일 가이드의 인프라 모듈 관리 전략과 다소 맞지 않아 보입니다. 가이드 규칙 5번(Infrastructure Layer)에 따르면, 인프라 설정은 RuntimeModule ENUM 전략(CustomerInfraImports)을 통해 모듈식으로 관리하는 것을 권장합니다.

Async 관련 설정을 루트 설정에 직접 통합하면 모듈로서의 독립성이 약화됩니다. 아키텍처의 일관성을 위해 AsyncConfig를 별도 파일로 유지하고 CustomerInfraImports에 추가하는 방안을 고려해 주세요.

제안:

  • AsyncConfig.java를 복원하고, 이 파일의 변경 사항을 되돌립니다.
  • CustomerInfraImports enum에 ASYNC(AsyncConfig.class)를 추가합니다.
References
  1. 리포지토리 스타일 가이드 규칙 5(인프라 계층): 인프라 컴포넌트는 @Configuration 내 모듈식 빈으로 등록하고, 프로젝트의 ENUM 전략(RuntimeModule)을 통해 활성화해야 합니다. 이를 통해 인프라 모듈을 명시적으로 관리할 수 있습니다. (link)

@tkv00 tkv00 merged commit 6960191 into main Mar 29, 2026
3 checks passed
@github-actions
Copy link
Copy Markdown

🧪 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-03-29 18:07 UTC

Scope Line Branch Line Graph Branch Graph Verdict
Overall 41.3% 30.3% ████████░░░░░░░░░░░░ ██████░░░░░░░░░░░░░░ ⚠️⚠️
Changed N/A N/A ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░ ✅✅

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

📦 Package coverage (worst 10)

Rank Package Line Branch Lines Line Graph Branch Graph
1 site.holliverse.customer.application.usecase.log 0.0% 0.0% 98 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
2 site.holliverse.infra.kafka.consumer 0.0% 0.0% 79 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
3 site.holliverse.customer.coupon.application 0.0% 0.0% 61 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
4 site.holliverse.customer.integration.fastapi 0.0% 0.0% 28 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
5 site.holliverse.customer.integration.external 0.0% 0.0% 28 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
6 site.holliverse.customer.application.usecase.counsel 0.0% 0.0% 14 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
7 site.holliverse.customer.coupon.web 0.0% 0.0% 12 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
8 site.holliverse.shared.config.runtime 0.0% N/A 11 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
9 site.holliverse.customer.web.util 0.0% 0.0% 8 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
10 site.holliverse.auth.handler 0.0% N/A 8 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░

🧨 Lowest coverage classes (worst 10)

Rank Class Line Branch Lines Line Graph Branch Graph
1 site.holliverse.customer.application.usecase.log.UserLogService 0.0% 0.0% 81 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
2 site.holliverse.infra.kafka.consumer.RecommendationKafkaConsumer 0.0% 0.0% 79 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
3 site.holliverse.shared.monitoring.CustomerMetrics 0.0% N/A 50 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
4 site.holliverse.admin.application.usecase.CalculateLogChurnScoreService 0.0% 0.0% 38 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
5 site.holliverse.admin.application.usecase.CalculateChurnScoreService 0.0% 0.0% 37 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
6 site.holliverse.customer.coupon.application.UseMemberCouponUseCase 0.0% 0.0% 34 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
7 site.holliverse.admin.application.usecase.ChurnRiskReason$ReasonCode 0.0% 0.0% 31 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
8 site.holliverse.customer.integration.fastapi.FastApiRecommendationClient 0.0% 0.0% 28 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
9 site.holliverse.customer.integration.external.AdminLogFeaturesClient 0.0% 0.0% 28 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
10 site.holliverse.customer.coupon.application.GetMemberCouponsUseCase 0.0% 0.0% 27 ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
🧩 Changed files coverage breakdown (5 files)
File Line Branch Lines Verdict Line Graph Branch Graph
src/main/java/site/holliverse/admin/query/dao/ChurnRealtimeDao.java N/A N/A 0 ✅✅ ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
src/main/java/site/holliverse/admin/web/assembler/ChurnRealtimeAssembler.java N/A N/A 0 ✅✅ ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
src/main/java/site/holliverse/shared/config/AsyncConfig.java N/A N/A 0 ✅✅ ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
src/main/java/site/holliverse/shared/config/runtime/CustomerRuntimeInfraConfiguration.java N/A N/A 0 ✅✅ ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░
src/main/java/site/holliverse/shared/monitoring/ExecutorMetricsSupport.java N/A N/A 0 ✅✅ ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🗂️ area: BE 백엔드 영역 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