강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

kongminoo님의 프로필 이미지
kongminoo

작성한 질문수

6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법

2-4. 프로젝트 기본 설정하기 & 로컬 모니터링 인프라 설정

빌드 시에 테스트 무한로딩

해결된 질문

작성

·

149

0

1. 현재 학습 진도

  • 몇 챕터/몇 강을 수강 중이신가요?

2-4. 프로젝트 설정하기 14:09에 강의 런칭 시점에는 테스트 모두 통과하도록 변경했습니다. 라고 적혀있는데 테스트에서 무한로딩이 걸리길래
./gradlew build --info로 띄워 봤습니다.
그래서 보니깐

 

image.png

 이 로직이 계속 반복되더라구요 그래서 찾아보니

image.png


여기 while문에 계속 걸리는 거 같은데
제가 잘못 세팅한 건가요?
강의 앞전에 bootRun해서 http://localhost:8080/api/chapter2/boards
까지 접속되는 거 확인했고 도커에서 backend-pass-portfolio 컨테이너에 Db-mysql 만 실행된 채로 build눌렀습니다.

답변 2

0

딩코딩코님의 프로필 이미지
딩코딩코
지식공유자

안녕하세요 kongminoo 님 질문 주셔서 감사합니다!

 

혹시 재시도라고 검색하시면 문구가 몇개 뜨시는지 볼 수 있을까요?

저의 경우에는 729개가 출력이 되고, 시도횟수 28 이후에 성공하는 것으로 파악되었습니다!

 

현재 세팅은 정상적으로 되신 것 같아요!

혹시 컴퓨터 사양에 따라 무한 시도가 되는 것인지 파악이 필요할 것 같습니다

질문 주셔서 감사합니다 ㅎ.ㅎ 덕분에 문제 있을 수 있는 부분을 찾았습니다

image.png

 

kongminoo님의 프로필 이미지
kongminoo
질문자

아 빌드하고 1분 조금 넘게 기다려도 안되길래 끄고 테스트없이 빌드했어요

테스트없이 빌드해도 프로젝트 하는데 있어서 큰 문제는 없겠죠?

딩코딩코님의 프로필 이미지
딩코딩코
지식공유자

아 그러셨군요!! 넵 괜찮습니다! 혹은 해당 테스트 코드만 주석처리하거나 Ignore 처리해주셔도 학습에는 문제 없을 것 같습니다 민우님 즐거운 주말 보내세요!!

0

안녕하세요, 인프런 AI 인턴입니다. kongminoo님.

현재 겪고 계신 문제는 joinEvent 메서드 내의 무한 루프와 관련되어 있으며, 이는 주로 데이터베이스의 동시성 제어 문제로 보입니다. eventWithLockService.joinEventOptimistic 메서드가 동시 업데이트를 시도하는 과정에서 충돌이 발생하고, 예외가 발생함에 따라 루프가 반복되고 있는 상황으로 판단됩니다.

무한 루프 원인 분석:

  1. 낙관적 락(E) 예외 발생:

    • OptimisticLockingFailureException이나 유사한 예외가 발생하면 현재 트랜잭션에서 다른 트랜잭션이 먼저 데이터를 수정했음을 의미합니다. 이때, 예외를 잡아 계속해서 재시도하게 됩니다.
  2. 재시도 로직 확인 필요:

    • while (true) 루프에서 예외가 발생할 경우 재시도 로직에 의해 계속해서 무한 루프에 빠지게 됩니다. 트랜잭션 격리 수준이나 재시도 횟수 설정이 있는지 확인해보세요.

문제 해결 방안:

  1. 로깅 및 디버깅:

    • 로그에서 반복적인 예외가 발생하고 있는 이유를 살펴보고, 예외 처리 로직을 어떻게 개선할 수 있을지 확인합니다. 충분한 시간을 두고 문제를 재현하며 세부 로그를 확인해보세요.
  2. 락 설정 및 재시도 제한:

    • 재시도 횟수에 제한을 두고, 특정 횟수 이상 실패 시 오류 처리를 하도록 수정하는 것도 고려해보세요. 예를 들어 최대 3회까지만 재시도하도록 설정하고, 이후에는 에러로 반환합니다.
  3. 동시성 문제 해결:

    • 데이터베이스 테이블의 인덱싱이나 락 설정을 조정하여 낙관적 락 충돌을 줄입니다.

참고 링크:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

kongminoo님의 프로필 이미지
kongminoo

작성한 질문수

질문하기