记Solr 6.6.4 踩得一次坑。

2 篇文章 0 订阅

我们线上solr版本是6.6.4,此版本 RunExecutableListener 默认是不开启得 。

之前线上api操作solr 报错。原以为是必须开启这个东西 (因为solrconfig.xml 中并没有指定任何关于这个类得地方)。

         Critical security fix: Fix for a 0-day exploit (CVE-2017-12629), details: https://s.apache.org/FJDl.

         RunExecutableListener has been disabled by default (can be enabled by -Dsolr.enableRunExecutableListener=true)

         and resolving external entities in the XML query parser (defType=xmlparser or {!xmlparser ... }) is disabled by default.

 

然而线下环境与线上版本是一致得却一直没有这个问题,我也一直很困惑。始终找不到具体原因,最终采用折中方案,启动solr得时候开启RunExecutableListener。-Dsolr.enableRunExecutableListener=true

 

直到昨天线上报 Cannot run program "regsvr32.exe": error=2, No such file or directory 这个错误,

在 这篇文章里有所发现 传送门

找到了问题所在,是api配置问题导致得。

 

       Config API可以操作solrconfig.xml使用类似REST的API调用的各个方面。

         此功能默认启用,在SolrCloud和独立模式下的工作方式类似。可以使用此API更改许多常用的编辑属性(如缓存大小和提交设置)和请求处理程序定义。

         使用此API时,solrconfig.xml不会更改。相反,所有已编辑的配置都存储在一个名为的文件中configoverlay.json。中的值configoverlay.json覆盖中的值solrconfig.xml。

         API入口点

         /config:检索或修改配置。GET检索和POST执行命令

         /config/overlay:configoverlay.json单独检索详细信息

         /config/params:允许创建可以覆盖或取代其中定义的参数的参数集solrconfig.xml。有关更多详细信息,请参阅请求参数API部分。     

我比对了下线下solr product 与线上product得差异 发现 线下并没有configoverlay.json 文件. 猜测肯定是这个出现得问题。但并不知道这个文件是如何产生得(有待研究)。

查看线上configoverlay.json 发现  基本上所有操作都是基于 RunExecutableListener 。那可以肯定是这里得问题了。

决定删除这个文件,并重启solr。

          Cannot run program "regsvr32.exe": error=2, No such file or directory

这个错误已经没有了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值