Skip to content

#509 [Fix] 시나리오 병합 오디오 재생성 시 URL 갱신 - #510

Merged
si-zero merged 1 commit into
devfrom
fix/#509
Oct 1, 2026
Merged

si-zero merged 1 commit into
devfrom
fix/#509

Conversation

@si-zero

@si-zero si-zero commented Oct 1, 2026 •

Copy link
Copy Markdown
Member

#️⃣ 연관된 이슈

📝 작업 내용

🐛 Fix

내용 파일
병합 오디오 S3 키에 UUID를 붙여 재생성할 때마다 URL이 바뀌도록 변경 ({PATH}.mp3 → {PATH}_{UUID}.mp3) ScenarioAudioPipelineService.java
새 병합 오디오 저장이 커밋된 뒤 이전 병합 파일을 S3에서 정리 (트랜잭션 밖 호출이면 즉시 정리, 삭제 실패는 경고 로그만 남김) ScenarioAudioPipelineService.java

📌 공유 사항

  1. 원인: 대사를 수정하면 TTS 재생성과 병합은 정상적으로 됐지만, 병합 파일 키가 고정이라 앱에 내려가는 URL이 수정 전후로 같았습니다. 그래서 앱/플레이어가 캐시한 이전 오디오를 재생했습니다.
  2. 기존에 발행된 시나리오는 다시 수정되거나 재발행될 때 새 URL로 바뀝니다. 기존 {PATH}.mp3 파일은 그때 함께 정리됩니다.
  3. ResourceUrlProvider.getAudioUrl은 키의 마지막 경로를 파일명으로 쓰고, 리다이렉트 컨트롤러는 {fileName:.+}로 받기 때문에 추가로 바꿀 곳은 없습니다.
  4. 이번 범위에서 빠진 것: 짧은 간격으로 연속 저장해서 파이프라인 두 개가 동시에 돌면, 늦게 끝난 쪽(이전 대사 기준)이 결과를 덮어쓸 수 있습니다. 필요하면 별도 이슈로 다루겠습니다.

✅ 체크리스트

  • Reviewer에 팀원들을 선택했나요?
  • Assignees에 본인을 선택했나요?
  • 컨벤션에 맞는 Type을 선택했나요?
  • Development에 이슈를 연동했나요?
  • Merge 하려는 브랜치가 올바르게 설정되어 있나요?
  • 컨벤션을 지키고 있나요?
  • 로컬에서 실행했을 때 에러가 발생하지 않나요?
  • 팀원들에게 PR 링크 공유를 했나요?

📸 스크린샷

./gradlew test --tests '*ScenarioAudioPipelineServiceTest' --tests '*ScenarioServiceImplTest' --tests '*AdminScenarioPublishFlowIntegrationTest' --tests '*BattleServiceImplTest' → BUILD SUCCESSFUL

💬 리뷰 요구사항

  1. 이전 병합 파일을 커밋 후에 지우는 방식이 괜찮은지 의견 부탁드립니다.

@si-zero si-zero self-assigned this Oct 1, 2026
@si-zero si-zero added the 🐛 Fix (버그 수정) 버그를 수정할 때 사용합니다. label Oct 1, 2026
@si-zero si-zero linked an issue Oct 1, 2026 that may be closed by this pull request
2 tasks
@si-zero
si-zero merged commit 9a298dc into dev Oct 1, 2026
1 check passed
@si-zero
si-zero deleted the fix/#509 branch October 1, 2026 15:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🐛 Fix (버그 수정) 버그를 수정할 때 사용합니다.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

🐛 Fix: 시나리오 수정 후 앱에서 이전 음성이 재생됨

1 participant