当前位置: 首页 > news >正文

ES更新问题 Failed to close the XContentBuilder异常

 问题描述

使用RestHighLevelClient对文档进行局部更新的时候报错如下:

Suppressed: java.lang.IllegalStateException: Failed to close the XContentBuilderat org.elasticsearch.common.xcontent.XContentBuilder.close(XContentBuilder.java:1011)at org.elasticsearch.common.xcontent.XContentHelper.toXContent(XContentHelper.java:362)... 8 moreCaused by: java.io.IOException: Unclosed object or array foundat org.elasticsearch.common.xcontent.json.JsonXContentGenerator.close(JsonXContentGenerator.java:469)at org.elasticsearch.common.xcontent.XContentBuilder.close(XContentBuilder.java:1009)... 9 more

相关代码如下:

UpdateRequest request = new UpdateRequest("user","1001");
request.doc(XContentType.JSON, "sex","男");UpdateResponse updateResponse = client.update(request, RequestOptions.DEFAULT);

 分析排查问题过程

下面这是ES 7.9.3版本客户端局部更新的文档,每种写法都试过了,报错都一样的

Update API | Java REST Client [7.9] | Elastic

 基本排除代码问题,怀疑是客户端版本bug

客户端升级到7.17.1,问题解决

后续发现

因为我一直在elasticsearch仓库找不到对应的issue和问题修复代码,我就继续查了下,无意中发现存在maven依赖冲突,将log4j-core的冲突排掉后,问题竟然也解决了。

所以应该不是7.9.3版本的bug,而是本地依赖冲突,日志相关功能影响到XcontentBuilder关闭,具体的等日后加深理解后再继续分析


http://www.mrgr.cn/news/78072.html

相关文章:

  • spring的事务隔离?
  • [pdf,epub]162页《分析模式》漫谈合集01-35提供下载
  • 非递归遍历二叉树(数据结构)
  • springcloud alibaba之shcedulerx实现分布式锁
  • Spark——安装步骤详细教程
  • 数据可视化复习2-绘制折线图+条形图(叠加条形图,并列条形图,水平条形图)+ 饼状图 + 直方图
  • 动态链接库工作原理 PLT GOT
  • 【数据挖掘】一、基于LDA的用户兴趣建模(兴趣标签生成模型)--用户兴趣挖掘模型
  • 《硬件架构的艺术》笔记(七):处理字节顺序
  • 车载显示display基础知识和评估
  • 02.02、返回倒数第 k 个节点
  • 如何制作项目网页
  • 【C++11】尽显锋芒
  • 指针测试总结(一)(一维数组)
  • CTF-RE 从0到 N: 高版本 APK 调试 + APK逻辑修改再打包 + os层调试[2024 强网杯青少年专项赛 Flip_over] writeup
  • Apollo9.0源码部署(Nvidia显卡)
  • Nacos学习文档
  • Python + 深度学习从 0 到 1(00 / 99)
  • Qt Graphics View 绘图架构
  • ubuntu中使用ffmpeg和nginx推http hls视频流
  • 大表建/重建索引
  • 【ONE·基础算法 || 动态规划(二)】
  • C++ —— 以真我之名 如飞花般绚丽 - 智能指针
  • 极智嘉嵌入式面试题及参考答案
  • 不同查询构建器的使用方式(Mybatis、Mybatis-Plus、Mybatis-Flex、Spring Data JPA、QueryDsl)
  • 【Unity基础】如何选择渲染管线?