我的系统现在有两个index分别是data1和data2,并且有个alias叫做data。
data每十分钟在data1和data2之间切换,
没有被设置alias的index会被其它处理删除,重建mapping,重建数据,然后等待alias切换。
alias切换Java代码(alias2时):
问题:
正常情况下alias切换的执行时间<1s,但是偶尔(周一次?)alias切换时会超时并且服务器会出现以下警告日志
data每十分钟在data1和data2之间切换,
没有被设置alias的index会被其它处理删除,重建mapping,重建数据,然后等待alias切换。
alias切换Java代码(alias2时):
IndicesAliasesRequestBuilder aliasRequest = ElasticUtils.getTransportClientInstance().admin().indices().prepareAliases()
.addAlias("data2", "data")
.removeAlias("data1", "data");
IndicesAliasesResponse aliasResponse = aliasRequest.execute().actionGet();
问题:
正常情况下alias切换的执行时间<1s,但是偶尔(周一次?)alias切换时会超时并且服务器会出现以下警告日志
[2016-06-13 09:12:33,333][WARN ][cluster.service ] [Node#2] cluster state update task [index-aliases] took 40.1s above the warn threshold of 30s
有哪位知道为什么会不定期的出现这种情况么?谢谢。
1 个回复
flowaters
赞同来自:
临时解决方法是:
1. 重试。
2. 延长超时时间。
长期解决方法是:
1. 看看为何此时负载过高。
2. 不要引入alias频繁切换的设计,这个设计有风险点。