Elasticsearch Exception:Message not fully read (response) for requestId

本地使用Netty+Elasticsearch测试表单请求查询数据,无异常。将工程打包上传至服务器运行,页面请求后发生异常,连接关闭。

事件:前台通过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 [[email protected]], 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 &"

时间: 2024-12-28 01:12:34

Elasticsearch Exception:Message not fully read (response) for requestId的相关文章

Better exception message for missing @RequestBody method parameter

https://jira.spring.io/browse/SPR-12888 Description When I use @RequestBody on one of my controllers for a required parameter, I need some useful way of saying which parameter was missing if it's not there. The exception message I see currently looks

记一次Jenkins 打包异常 ERROR: Exception when publishing, exception message [Failure]

今天早上打包一直都没有问题,突然有一次打包突然出现异常现象,如下: ERROR: Exception when publishing, exception message [Failure] Build step 'Send files or execute commands over SSH' changed build result to UNSTABLE 我很好奇,服务器启动日志没有报错,Jenkins上的配置信息也没有去动它,为什么会出现这种异常呢,于是,我看了下那台机器上的磁盘存储情况

记录一次爬虫报错:Message: Failed to decode response from marionette

由于标题中的错误引发: Message: Tried to run command without establishing a connection 解释: 先说一下我的爬虫架构,用的是firefox+selenium,上面的那个错误是因为浏览器退出之后,爬虫还要浏览器去执行一些命令,所以才报上面的错误,那第二个问题来了: 浏览器为什么会自动crash(崩溃)呢,一般来说都是因为资源不够用了,什么资源呢?内存资源,浏览器是很占用的内存,而且有的爬虫为了加快爬虫速度会让浏览器做缓存, 这样导致浏

freemarker.core.InvalidReferenceException: [... Exception message was already printed; see it above ...]

FreeMarker template error:The following has evaluated to null or missing:==> product  [in template "product.html" at line 751, column 43] FreeMarker模板误差:以下已评估为null或丢失:=产品"模板"产品HTML"在第751行,第43栏] ---------------------------- 意思是有

C#中判断服务器图片是否存在

public int num = 0; /// <summary> /// 判断服务器路径中的图片文件是否存在存在则累加统计 /// </summary> private int GetAcount(string name) { for (int i = 1; i < i + 1; i++) { string url = "http://IP/Image/" + name + "/" + name + i + ".jpg&qu

ASP.NET MVC中有关AOP的编程

AOP(Aspect oriented programming)面向切面编程,主要意思是把相同.相似的并且零散的逻辑抽离出来,统一处理,这样不仅维护起来方便,也使得代码更加关注自己本身,清晰明了. 比如我们常见的权限检查,验证登陆,异常处理等都是散乱在系统各个地方,比如管理员在登陆状态才可以添加一个学生信息: public ActionResult AddStudent(Student student) { if (currentUser != null) { StudentDAL.Add(st

elasticsearch插件开发

检索引擎Elasticsearch支持插件模式,有些时候你可能需要安装一些插件,甚至自己开发插件,这里就提供一个开始ES插件开发示例,ES版本为5.2.0. 一.插件类继承自org.elasticsearch.plugins.AbstractPlugin package org.elasticsearch.plugin.helloworld; import java.util.ArrayList; import java.util.Collection; import java.util.Col

使用ElasticSearch,Kibana,ASP.NET Core和Docker可视化数据

想要轻松地通过许多不同的方式查询数据,甚至是从未预料到的方式?想要以多种方式可视化日志?同时支持基于时间.文本和其他类型的即时过滤器? 借助于 Elastic stack 的卓越性能和可扩展方式的优点,我们将通过两个示例轻松实现. 本文由 DNC Magazine for Developers and Architects 发布. 从这里下载此杂志[PDF] 或 免费订阅本杂志 下载所有以前和当前的版本版本. 在这篇文章中,我将介绍流行的搜索引擎 Elasticsearch,其配套的可视化应用

[翻译] 使用ElasticSearch,Kibana,ASP.NET Core和Docker可视化数据

原文地址:http://www.dotnetcurry.com/aspnet/1354/elastic-search-kibana-in-docker-dotnet-core-app 想要轻松地通过许多不同的方式查询数据,甚至是从未预料到的方式?想要以多种方式可视化日志?同时支持基于时间.文本和其他类型的即时过滤器?借助于 Elastic stack 的卓越性能和可扩展方式的优点,我们将通过两个示例轻松实现. 本文由 DNC Magazine for Developers and Archite