강의

멘토링

커뮤니티

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

SodiumSulfate님의 프로필 이미지
SodiumSulfate

작성한 질문수

스프링 핵심 원리 - 고급편

logTrace의 Level이 높게 출력되는 문제를 겪고있어 질문올립니다

작성

·

470

1

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예
 
 
[질문 내용 & 문제점]
- 안녕하세요 강의 진행도중, "쓰레드로컬 동기화" 부분을 진행하다 조금 의하하게 동작하는 부분이 있어서 질문올립니다!
- 제가 이해한 강의 흐름은
1) 필드변수를 사용해서 동기화한다 >> 동시성 문제 발생
2) 쓰레드 로컬을 사용해서 동시성 문제를 해결한다!
- 위 순서인데, 쓰레드 로컬을 사용한 코드에서도 log의 depth 가 올바르게 정상적인 깊이로 표시되지 않고 여러번 반복되서 붙는 문제가 있습니다
- 문제증상이 발생할때의 로그는 아래처럼 찍힙니다
```
2022-01-01 11:54:07.809 INFO 2553 --- [nio-8080-exec-9] h.a.trace.logtrace.ThreadLocalLogTrace : [4202b619] | | | | | | | | | | | | | | | | | | | | |-->,OrderControllerV3-request()!
 
2022-01-01 11:54:07.809 INFO 2553 --- [nio-8080-exec-9] h.a.trace.logtrace.ThreadLocalLogTrace : [4202b619] | | | | | | | | | | | | | | | | | | | | | |-->,OrderServiceV3.orderItem()
 
2022-01-01 11:54:07.809 INFO 2553 --- [nio-8080-exec-9] h.a.trace.logtrace.ThreadLocalLogTrace : [4202b619] | | | | | | | | | | | | | | | | | | | | | | |-->,v3 Repository.save()
 
2022-01-01 11:54:07.810 INFO 2553 --- [nio-8080-exec-9] h.a.trace.logtrace.ThreadLocalLogTrace : OK:[4202b619] | | | | | | | | | | | | | | | | | | | | | |<--,OrderServiceV3.orderItem() time=1ms OK!!
 
2022-01-01 11:54:07.810 INFO 2553 --- [nio-8080-exec-9] h.a.trace.logtrace.ThreadLocalLogTrace : OK:[4202b619] | | | | | | | | | | | | | | | | | | | | |<--,OrderControllerV3-request()! time=1ms OK!!
```
- 제가 겪고 있는 문제를 시연하는 영상입니다 [https://youtu.be/hBYAinNtMxg]
 
 
[시도한 방법]
- 첫번째로 수업을 따라가며 작성한 코드가 있는지 검증했는데요, IDE 코드 비교 기능을 이용해서 교안과 제가 작성한 코드 사이의 다른 부분으로 인한 버그인지 순차적으로 탐색해봤는데 발견하지 못했습니다
- 두번째로 Debug 모드로 실행해봤는데, 실제로 addSpace() 함수에 level 에 값이 10, 11, 12~~ 로 점점 증가하게 들어왔습니다.
대략 브라우저에서 새로고침을 통해 Request를 10번 보낼때마다 level 값이 1스텍씩 증가합니다
 
 
[질문]
Q1) 진행하시는 강의에서처럼 1초에 두번 세번정도까지 요청을 날리면 정상적으로 동작 하는데, 그 이상으로 브라우저에서 refresh 연타를 날리면 발생하는 문제인데, 혹시 해당동작은 "정상동작" 범주에 벗어나는 비정상적인 요청인가요??
Q2) 디버깅을 하는 중인데, Depth Level이 높게 들어오는 부분이 InteliJ에서도 확인 가능한데요, 이걸 근거로 요청을 보내는 브라우저의 문제가 아닌 코드상의 문제로 생각이 드는데 올바른 해결 방향일지 궁금합니다
 
 
[실행환경 & 재현하는 방법]
- 위 링크에서 tag v0.220101 로 만들어놓았고, /spring-advenced/advenced 디렉토리 하위의 인텔리제이 프로젝트로 실험을 진행했습니다
- (위 링크와 동일)증상은 여기 링크의 영상에서 확인 가능합니다 : https://youtu.be/hBYAinNtMxg
 
 

답변 1

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 김동훈님

제 생각에는 작성하신 코드에 어딘가 문제가 있을 것 같습니다.

강의 자료로 제공되는 완성된 코드와 비교해보시면 좋겠습니다.

(또는 완성된 코드로 클래스를 하나씩 변경해가면서요)

그래도 안되면 말씀주세요.

감사합니다.

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

안녕하세요 김영한강사님 

 

말씀해주신 원인, 코드 문제일꺼같다는 의견 감사합니다 클래스 하나씩 완성코드와 비교해가면서 찾아보겠습니다. 

 

문제 찾으면 꼭 틀렸던 원인도 댓글로 달아놓겠습니다~!

 

시간내서 답변해 주셔서 감사드려요~

김영한님의 프로필 이미지
김영한
지식공유자

네 동훈님 화이팅!

SodiumSulfate님의 프로필 이미지
SodiumSulfate

작성한 질문수

질문하기