看,灰机...

tasks 和 pending_tasks

Elasticsearch | 作者 code4j | 发布于2021年05月28日 | 阅读数:501

elasticsearch中有 tasks 和 pending_tasks 2个 cat api
 
简单翻了下源码,后者是 优先级线程池等待队列中未被worker执行的任务,前者是由es的TaskManager单独维护的任务。前者比较有针对性,是集群级别的一些操作产生的任务,后者似乎很多请求(get,put_mapping等)都会生成一个任务。
 
有没有同学思考过为什么es不将这两个task的概念放在一起管理呢,按理说es中的一些操作也可能会pending住,在同一个管理器中管理也方便使用者统一监控和理解它们
已邀请:

Charele

赞同来自:

但这里"pending_tasks",可能你会想,是上面那个"tasks"的子集,是里面那些待执行的任务。
 
其实不是的,它和上面那个"tasks"没有关系。
它的名字也许叫pending_ClusterState__tasks更形像一点,它只和CS更新的那些任务相关

要回复问题请先登录注册