Elasticsearch Exception:Message not fully read (response) for requestId
이벤트: 프론트 데스크 는 Netty 를 통 해 자원 을 요청 하고, Netty 백 스테이지 는 프론트 데스크 에서 요청 한 JSON 을 통 해 ES 에 데 이 터 를 조회 하여 이상 이 발생 합 니 다.
이상 상황:
21:39:46,019 WARN org.elasticsearch.transport.netty:752 - [Jeanne-Marie Beaubier] exception caught on transport layer [[id: 0x8ed9a041, /xx.xx.xx.xxx:37506 => /xx.xx.xx.xx:9300]], closing connection
java.lang.IllegalStateException: Message not fully read (response) for requestId [120], handler [org.elasticsearch.action.TransportActionNodeProxy$1@4448469c], error [false]; resetting
at org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(MessageChannelHandler.java:145)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:462)
at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:443)
at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:108)
at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:337)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
원인: 로 컬 Maven 설정 에 Elasticsearch 2.1.0 의존 및 Netty 의존 을 도입 합 니 다. 프로젝트 가 실 행 될 때 Elasticsearch 바 텀 은 netty 관련 인 터 페 이 스 를 호출 하고 서버 에 있 는 Elasticsearch (2.1.0) 는 배경 에서 실 행 됩 니 다. netty 관련 서 비 스 를 불 러 옵 니 다.둘 이 동시에 존재 하여 데이터 전송 에 문제 가 생 겼 다.
해결 방법: Maven 을 통 해 jar 가방 을 칠 때 Elasticsearch 와 관련 된 jar 가방 을 제외 하고 jar 가방 에 만 의존 합 니 다.서버 에서 실행 시 class 설정 을 통 해path 및 cp 명령 은 서버 의 ES 관련 jar 패 키 지 를 가 져 오고 다시 실행 하면 됩 니 다.
서버. sh 파일 변경 설정:
CLASS_PATH=$APP_HOME/ES-NETTY-WEB-0.0.0-beta.jar:/usr/local/elasticsearch/lib/*
JAVA_CMD="nohup $JAVA_HOME/bin/java $JAVA_OPTS -cp $CLASS_PATH $APP_MAINCLASS $APP_HOME/config.properties >/dev/null 2>&1 &"
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Exception Class에서 에러 코드 해석 ~초기초편~직장에서 C# 프로젝트가 내뿜는 오류 코드를 구문 분석하고 오류의 위치를 확인하기 위해 Exception class를 활용할 수 있었습니다. 지금까지 Exception Class 에 대해서 별로 파악할 수 없었기 때...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.