一、前言
上一章节我们dynamic catalog restful API开发,其中catalog删除API仅仅在coordinator节点操作就可以了,那么woker几点的catalog是怎么与worker几点保持一致的呢?这一章节就重点介绍prune worker catalogs是如何做到的。
二、coordinator节点CatalogPruneTask类
在该类中存在如下的定时调度任务方法:
@PostConstructpublic void start(){if (enabled && !started.getAndSet(true)) {executor.scheduleWithFixedDelay(() -> {try {pruneWorkerCatalogs();}catch (Throwable e) {// ignore to avoid getting unscheduledlog.warn(e, "Error pruning catalogs");}}, updateInterval.toMillis(), updateInterval.toMillis(), MILLISECONDS);}}
下面的方法将coordinator节点中active catalogs发送给worker节点去触发prune,修剪worker节点的catalog调用的接口为:/v1/task/pruneCatalogs&#