inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

971

작성자 없음

작성한 질문수 0

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-redislettuce를 기본으로 사용하지만, 필요에 따라 jedis로 변경할 수 있습니다.

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

조회속도 개선에서 더 개선하는 방법이 궁금합니다.

0

20

2

Redlock 알고리즘 관해 궁금한게 있습니다!

0

36

2

좋아요/조회수 카운팅 병목현상에 대해서 궁금한점이 있습니다.

0

30

2

Build 관련 문제 (테스트 관련 문제)

0

41

2

consumer에서 에러가 발생할 경우 데이터 유실 문의

0

35

2

게시글 테스트 데이터 삽입

0

43

2

강의가 검은 화면으로 나옵니다.

0

45

1

mysql 의 bitmap

0

33

1

주제영역3 데이타 조회 문의

0

32

2

인덱스 관련 질문 있습니다.

0

65

2

비관적 락 구현 방식 문의 건

0

67

2

백엔드 서버 코드 변경에서 프론트엔드 서버가 값을 파싱하지 못하는 문제

0

78

1

강사님 GETDEL 관련해서 질문 있습니다

0

86

2

비밀번호를 걸고 실행된 레디스 서버에 lua 스크립트를 등록하는 경우

0

74

2

보안 설정을 한 수강생들은 Connection Settings에 비밀번호를 넣어야 추가되네요

0

56

2

Redis Container 해킹

0

100

1

Redis Hash

1

83

1

Redis 큐

0

92

2

redis VS valkey

0

193

2

외부 api 처리 방안에 대하여 궁금한 점이 있습니다.

0

87

2

강의에서 작성한 코드 제공 문의

1

97

1

23강 5:38 부분 질문 있습니다!

0

43

1

23강 17초 부분 질문있습니다~

0

48

2

Split 전략 강의 중 질문 있어요

0

56

2