elasticsearch中有 tasks 和 pending_tasks 2个 cat api
简单翻了下源码,后者是 优先级线程池等待队列中未被worker执行的任务,前者是由es的TaskManager单独维护的任务。前者比较有针对性,是集群级别的一些操作产生的任务,后者似乎很多请求(get,put_mapping等)都会生成一个任务。
有没有同学思考过为什么es不将这两个task的概念放在一起管理呢,按理说es中的一些操作也可能会pending住,在同一个管理器中管理也方便使用者统一监控和理解它们
简单翻了下源码,后者是 优先级线程池等待队列中未被worker执行的任务,前者是由es的TaskManager单独维护的任务。前者比较有针对性,是集群级别的一些操作产生的任务,后者似乎很多请求(get,put_mapping等)都会生成一个任务。
有没有同学思考过为什么es不将这两个task的概念放在一起管理呢,按理说es中的一些操作也可能会pending住,在同一个管理器中管理也方便使用者统一监控和理解它们
1 个回复
Charele - Cisco4321
赞同来自:
其实不是的,它和上面那个"tasks"没有关系。
它的名字也许叫pending_ClusterState__tasks更形像一点,它只和CS更新的那些任务相关