trino-435:prune worker catalogs

发布时间:2024年01月13日

一、前言

上一章节我们dynamic catalog restful API开发,其中catalog删除API仅仅在coordinator节点操作就可以了,那么woker几点的catalog是怎么与worker几点保持一致的呢?这一章节就重点介绍prune worker catalogs是如何做到的。

二、coordinator节点CatalogPruneTask类

在该类中存在如下的定时调度任务方法:

@PostConstruct
    public void start()
    {
        if (enabled && !started.getAndSet(true)) {
            executor.scheduleWithFixedDelay(() -> {
                try {
                    pruneWorkerCatalogs();
                }
                catch (Throwable e) {
                    // ignore to avoid getting unscheduled
                    log.warn(e, "Error pruning catalogs");
                }
            }, updateInterval.toMillis(), updateInterval.toMillis(), MILLISECONDS);
        }
    }

下面的方法将coordinator节点中active catalogs发送给worker节点去触发prune,修剪worker节点的catalog调用的接口为:/v1/task/pruneCatalogs&#

文章来源:https://blog.csdn.net/yuming226/article/details/135576958
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。