dremio 包含了一套比较完备的配置处理,包含了注解以及接口定义,也包装为了一个bean 模块,各个系统可以方便的使用

同时对于配置也包含了类型校验处理

支持的配置类型

public enum OptionType {
BOOT, SYSTEM, SESSION, QUERY
}

参考实现类图

不同场景的配置存储模式是不一样的

SessionOptionManager,QueryOptionManager,FragmentOptionManager 是在内存中的,SystemOptionManager 是持久化到存储中的

ProjectOptionManager 这个配置选项暂时还没看到类似的介绍以及使用(可能是企业版的)

dremio 的配置管理简单说明_抽象类



配置选项校验处理

为了保证配置选项的准确性,dremio 提供了一个类型校验的主要是OptionValidator 抽象类,同时基于抽象类开发了不少类型处理类

dremio 的配置管理简单说明_抽象类_02



说明

关于配置官方开发了自己的模块,同时在kernel 模块也提供了部分实现,设计上模块化管理还是很不错的

参考资料

services/options/src/main/java/com/dremio/options/OptionValidator.java

sabot/kernel/src/main/java/com/dremio/exec/server/options