스프링 테스트에서 embedded redis 사용할 때 뜨는 로그..
977
작성자 없음
작성한 질문수 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를 사용해 테스트하던 중에 이런 로그가 뜨네요...
에러는 아닌 것 같은데 정확히 뭘 하라는 건지 모르겠어요 ㅠㅠ
저 문구를 어떻게 하면 없앨 수 있을까요?....
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
kangmj815님 질문하신 내용에 대해 답변드리겠습니다.
스프링 테스트 중에 발생한 로그는 lettuce-core 라이브러리의 io.lettuce.core.protocol.CommandHandler가 예상치 못한 예외(java.net.SocketException: Connection reset)를 감지했음을 나타냅니다. 이 예외는 레디스 서버와의 네트워크 연결이 끊어졌을 때 발생할 수 있는데, 임베디드 레디스를 사용할 때 종종 볼 수 있는 현상입니다.
이 로그 메시지가 에러는 아니지만, 테스트 도중 연결 문제가 발생한 것으로 보입니다. 로그를 없애는 방법으로는 몇 가지가 있습니다:
임베디드 레디스 인스턴스가 제대로 시작되었는지 확인하십시오. 시간이 부족해서 연결이 끊길 수 있습니다. 인스턴스가 완전히 준비될 때까지 충분한 시간을 주는 것을 고려해보세요.
로깅 레벨을 조절하여 특정 클래스나 패키지의 로그 출력 레벨을 변경할 수 있습니다. 로그 발생 클래스에 대한 로깅 레벨을
ERROR로 설정하면INFO레벨 이하의 로그는 출력되지 않을 것입니다. 예를 들어,application.properties또는application.yml에서 다음 설정을 추가합니다:
logging.level.io.lettuce.core.protocol=ERROR
또는 YAML 형식으로는:
logging:
level:
io.lettuce.core.protocol: ERROR
레디스 커넥션에 관한 문제가 지속된다면, 연결 설정에 문제가 없는지 확인하거나, 임베디드 레디스가 아닌 실제 레디스 서버로 테스트를 해보는 것도 한 방법입니다.
테스트 환경의 안정성을 위해서 필요하다면 레디스 클라이언트 라이브러리를
lettuce에서jedis로 변경해보세요. Spring Boot는spring-boot-starter-data-redis에lettuce를 기본으로 사용하지만, 필요에 따라jedis로 변경할 수 있습니다.
위 방법 중 적합한 것을 시도해보시고, 로그 메시지가 계속 나타나거나 다른 문제가 발생한다면 추가적인 진단이 필요할 수 있습니다. 예를 들어, 테스트 코드에서 레디스 서버에 요청을 보내는 시점, 서버가 준비되어 있지 않을 경우 연결이 끊기면서 이러한 로그가 기록될 수 있습니다.
Kafka Cluster 구성도 질문
0
19
1
레디스로 재고 관리
0
39
2
Lock 해제 문의 드립니다.
0
43
2
답을언제쯤받아볼수있나요
0
48
2
프로젝트가 없어요..
0
56
2
레디스로 대기큐 구현 질문
0
76
2
API LIMIT
0
53
1
캐시 무효화
0
45
2
Redis와 Kafca의 Pub/Sub 차이
0
60
2
@Version 어노테이션이 붙은 필드는 낙관적 락이든 비관적 락이든 업데이트가 됩니다.
0
50
1
너무 흥미진진합니다..
1
61
2
순위가 동률일 때의 처리에 대해 질문드립니다.
0
71
2
Service Create/Update Record 운용과 Delete Record 미운용의 차이 질문
0
33
1
조회속도 개선에서 더 개선하는 방법이 궁금합니다.
0
64
2
Redlock 알고리즘 관해 궁금한게 있습니다!
0
92
2
좋아요/조회수 카운팅 병목현상에 대해서 궁금한점이 있습니다.
0
65
2
Build 관련 문제 (테스트 관련 문제)
0
56
2
consumer에서 에러가 발생할 경우 데이터 유실 문의
0
64
2
게시글 테스트 데이터 삽입
0
60
2
강의가 검은 화면으로 나옵니다.
0
63
1
mysql 의 bitmap
0
54
1
주제영역3 데이타 조회 문의
0
56
2
인덱스 관련 질문 있습니다.
0
96
2
비관적 락 구현 방식 문의 건
0
102
2





