优化器检查方式

    ArcticMetastore#startMetaStoreThreads

    启动优化检查线程。 startOptimizeCheck
    startOptimizeCommit

    在 startOptimizeCheck 启动的线程中
    checkRunningTask 会不断将 OptimizeCheckTask 放入 ScheduledTasks 中,这不好像没有校验文件

    OptimizeCheckTask
    检查逻辑在下面代码

    1. tableOptimize.tryTriggerCommit();
    2. tableOptimize.updateTableOptimizeStatus();

    具体优化判断在TableOptimizeItem#updateTableOptimizeStatus 的 BaseOptimizePlan#plan() 中

    BaseOptimizePlan#addOptimizeFilesTree()
    BaseOptimizePlan#collectTasks()

    FileInfoCacheService#getOptimizeDatafiles 会从MySQL读出数据一个表的数据文件信息。

    文件个数在Metastore MySQL里存放?

    OptimizeService#loadOptimizeTasks 从 MySQL 读出需要优化的任务

    MyBatis