Solr 7由于线程池太小而无法完全删除节点

时间:2019-03-29 13:02:13

标签: amazon-web-services exception solr autoscaling

情况

我目前正在尝试在AWS Autoscaling组中设置SolrCloud,以便它可以动态扩展。

我还向Solr添加了以下触发器,以便每个节点将对每个集合进行1个(并且只有一个)复制:

list.sort((a,b) -> a.substring(3,4).compareTo(b.substring(3,4)));

这很好。但是我的问题是,当删除一个节点时,它不会从该节点上删除所有19个副本,并且在访问“节点”页面时遇到问题:

enter image description here

在日志中,发生此异常:

{
"set-cluster-policy": [
  {"replica": "<2", "shard": "#EACH", "node": "#EACH"}
  ],
  "set-trigger": [{
    "name": "node_added_trigger",
    "event": "nodeAdded",
    "waitFor": "5s",
    "preferredOperation": "ADDREPLICA"
  },{
    "name": "node_lost_trigger",
    "event": "nodeLost",
    "waitFor": "120s",
    "preferredOperation": "DELETENODE"
  }]
}

问题描述

因此,问题在于它只有10个池大小,其中10个正忙,没有任何队列(同步执行)。实际上,它实际上只删除了10个副本,其余9个副本留在那里。手动发送API命令删除该节点时,它工作正常,因为Solr只需要删除其余的9个副本,一切就恢复了。

问题

如何增加(小的)线程池大小和/或激活对其余删除任务的排队?另一个解决方案可能是重试失败的任务,直到成功为止。

在Ubuntu Server上使用Solr 7.7.1,该服务器上安装了Solr的安装脚本(所以我猜它正在使用Jetty吗?)。

感谢您的帮助!

编辑:我从Solr用户组邮件列表中得到了反馈。这似乎是设计缺陷:https://issues.apache.org/jira/browse/SOLR-11208 现在看来似乎不是可配置的,但是如果有人准备好解决方法,我将很高兴学习它。

0 个答案:

没有答案