inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 테스트에서 embedded redis 사용할 때 뜨는 로그..

987

작성자 없음

0

[lettuce-nioEventLoop-6-1] INFO io.lettuce.core.protocol.CommandHandler - null Unexpected exception during request: java.net.SocketException: Connection reset java.net.SocketException: Connection reset at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:394) SocketChannelImpl.java:394 at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:426) SocketChannelImpl.java:426 at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:254) PooledByteBuf.java:254 at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) AbstractByteBuf.java:1132 at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:357) NioSocketChannel.java:357 at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) AbstractNioByteChannel.java:151 at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) NioEventLoop.java:788 at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) NioEventLoop.java:724 at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) NioEventLoop.java:650 at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) NioEventLoop.java:562 at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) SingleThreadEventExecutor.java:997 at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ThreadExecutorMap.java:74 at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) FastThreadLocalRunnable.java:30 at java.base/java.lang.Thread.run(Thread.java:840)

 

스프링 테스트에서 embedded redis를 사용해 테스트하던 중에 이런 로그가 뜨네요...

에러는 아닌 것 같은데 정확히 뭘 하라는 건지 모르겠어요 ㅠㅠ

저 문구를 어떻게 하면 없앨 수 있을까요?....

 

 

 

스프링 redis embeddedredis

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.
kangmj815님 질문하신 내용에 대해 답변드리겠습니다.

스프링 테스트 중에 발생한 로그는 lettuce-core 라이브러리의 io.lettuce.core.protocol.CommandHandler가 예상치 못한 예외(java.net.SocketException: Connection reset)를 감지했음을 나타냅니다. 이 예외는 레디스 서버와의 네트워크 연결이 끊어졌을 때 발생할 수 있는데, 임베디드 레디스를 사용할 때 종종 볼 수 있는 현상입니다.

이 로그 메시지가 에러는 아니지만, 테스트 도중 연결 문제가 발생한 것으로 보입니다. 로그를 없애는 방법으로는 몇 가지가 있습니다:

  1. 임베디드 레디스 인스턴스가 제대로 시작되었는지 확인하십시오. 시간이 부족해서 연결이 끊길 수 있습니다. 인스턴스가 완전히 준비될 때까지 충분한 시간을 주는 것을 고려해보세요.

  2. 로깅 레벨을 조절하여 특정 클래스나 패키지의 로그 출력 레벨을 변경할 수 있습니다. 로그 발생 클래스에 대한 로깅 레벨을 ERROR로 설정하면 INFO 레벨 이하의 로그는 출력되지 않을 것입니다. 예를 들어, application.properties 또는 application.yml에서 다음 설정을 추가합니다:

   logging.level.io.lettuce.core.protocol=ERROR

또는 YAML 형식으로는:

   logging:
     level:
       io.lettuce.core.protocol: ERROR
  1. 레디스 커넥션에 관한 문제가 지속된다면, 연결 설정에 문제가 없는지 확인하거나, 임베디드 레디스가 아닌 실제 레디스 서버로 테스트를 해보는 것도 한 방법입니다.

  2. 테스트 환경의 안정성을 위해서 필요하다면 레디스 클라이언트 라이브러리를 lettuce에서 jedis로 변경해보세요. Spring Boot는 spring-boot-starter-data-redis에 lettuce를 기본으로 사용하지만, 필요에 따라 jedis로 변경할 수 있습니다.

위 방법 중 적합한 것을 시도해보시고, 로그 메시지가 계속 나타나거나 다른 문제가 발생한다면 추가적인 진단이 필요할 수 있습니다. 예를 들어, 테스트 코드에서 레디스 서버에 요청을 보내는 시점, 서버가 준비되어 있지 않을 경우 연결이 끊기면서 이러한 로그가 기록될 수 있습니다.

강의 관련 질문드립니다.

1

30

2

Redis 비동기 I/O 멀티플렉싱이 아니라 논블로킹 I/O 멀티플렉싱이 아닌가요?

0

18

1

Jib 빌드가 83%에서 멈추는 문제 해결(windows 사용자)

1

32

1

미션 제출 방식 건의

0

36

0

트랜잭션 내 Redis I/O 에 대한 궁금한점

1

37

1

미션 진행 방식에 대한 질문입니다.

0

54

1

파킹 페이지와 대기열 큐 질문입니다.

0

48

1

낙관적락 질문있습니다.

0

46

1

댓글순서부여방식

0

47

1

movablePageCount와 pageSize 상수

0

37

1

JPA와 네이티브 쿼리

0

45

1

11강 [실습] Docker로 MySQL1 분만에 실행하기

0

90

2

11강 [실습] Docker로 MySQL1 분만에 실행하기

0

66

2

구현 방법에 대한 문의

0

84

2

선생님 질문있습니다!

0

64

2

MSA 통신방식에 대해서 질문 있습니다.

0

56

1

최근 N개 데이터 표현 시 중복 질문

0

54

1

안녕하세요 질문있습니다.!

0

80

2

@Modifying에 관하여

1

73

1

Issuance 테이블에 status, couponId 인덱스가 꼭 필요할까요?

2

81

1

부하 테스트 시 설정 관련 질문드립니다

1

116

2

섹션 2

0

57

1

pub/sub의 연결 객체에 대해 질문 드립니다.

0

78

2

build 시 에러 해결방법 공유(docker.desktop 업데이트 -> 의존성 버전 수정)

0

104

2