[FEAT] s3 삭제 건너뛰기 구현#368
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces automatic S3 object cleanup when deleting pins, communities, problem solvers, or users. Before deleting database records, S3 keys are collected and subsequently deleted using a new S3Utils.deleteIfNotReserved utility, which skips reserved system assets. The review feedback highlights a critical improvement opportunity: S3 deletions currently run within active database transactions, which can cause data inconsistency if a transaction rolls back. To resolve this, it is recommended to defer S3 deletions until after a successful commit using TransactionSynchronizationManager. Additionally, feedback suggests refining the reserved key detection in S3Utils to handle leading slashes or spaces safely, and renaming a repository method to maintain consistent naming conventions.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
🔗 Related Issue
✨ 작업 개요
S3Utils.java-> RESERVED_PREFIXES = {"festival", "contest"} 상수 + 두 메서드 추가Reserved key 동작
체크리스트
📷 이미지 첨부 (선택)
🧐 집중 리뷰 요청