dsl_rate_limit_exception query dsl flow limit, please wait and try again

280 阅读1分钟

今天项目里面使用es查询报了一下错误,看了下监控查询qps也不算太高,但是es里面不时会抛出下面的错误,不知道是什么原因?

{"error":{"root_cause":[{"type":"dsl_rate_limit_exception","reason":"query dsl flow limit, please wait and try again!, dsl=V2_F7B859E17C4D254B30BE7EAA9F44E16B"}],"type":"dsl_rate_limit_exception","reason":"query dsl flow limit, please wait and try again!, dsl=V2_F7B859E17C4D254B30BE7EAA9F44E16B"},"status":400} at org.elasticsearch.client.RestClient.convertResponse(RestClient.java:283) at org.elasticsearch.client.RestClient.performRequest(RestClient.java:261) at org.elasticsearch.client.RestClient.performRequest(RestClient.java:235) at org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:1764) ... 12 more

已经找到原因了!!!

原来es集群里面设置了一个query dsl flow limit 限流,这个参数需要调大。希望下次遇到这个问题的时候不要被坑了

扩展一下

es集群里面常见的几种限流 write flowlimit 写请求限流 query flowlimit 读请求限流(用户限流) query dsl flow limit 针对每一个dsl进行限流