Hi, Hongshun. Thanks for the FIP, few comments:
1: Regarding to method `Tuple2<Set<String>, Set<String>> allowedConfigs();`, Is it possible the returned type `Tuple2<Set<String>, Set<String>>` be a class to make it more self-ducumenting? Currently, I feel the `Tuple2<Set<String>, Set<String>>` is a little of obscure. 2: Regarding the parameter for users to modify configurations via alterConfigs(Collection<AlterConfigOp> configs): The key is of string type, and the value is also of string type. Do we directly use setString(String key, String value) to obtain newConfig? For enum types, if the value is not within the enum's range—for example, if a user sets datalake.format=unknown—then newConfig.getOptional(DATALAKE_FORMAT) will directly throw a java.lang.IllegalArgumentException. Does the implementation of ServerReconfigurable need to handle this case itself and throw a ConfigException? Other types of configuration items have similar issues. 3: Why is config_source in PbDescribeConfigsResponseInfo optional? Why isn't it also required? Moreover, I feel this field might be unnecessary since it's always INITIAL_SERVER_CONFIG? For PbAlterConfigsRequestInfo, I think config_operation should also be required? 4: Could you please provide an example describing the data in zk? Best regards, Yuxia ----- 原始邮件 ----- 发件人: "loserwang1024" <[email protected]> 收件人: "dev" <[email protected]> 发送时间: 星期四, 2025年 8 月 07日 上午 11:51:05 主题: [SPAM][DISCUSS] FIP-12: Server Dynamic Config Hi devs, I'd like to start a discussion about FIP-12: Server Dynamic Config[1]. Currently, any changes to the server.yaml configuration in a Fluss cluster require a full restart of the cluster, which negatively impacts stability and availability. To improve operational agility and reduce downtime, we propose introducing dynamic configuration capabilities, enabling runtime modification of key parameters—such as enabling/disabling lake-streaming integration features or managing user accounts—without requiring service interruption. The POC[2] code is provided to enable lake format. You can try and give some advice. Best Hongshun [1] https://cwiki.apache.org/confluence/display/FLUSS/FIP-12%3A+Server+Dynamic+Config [2] https://github.com/loserwang1024/fluss/tree/poc-dymanic-config.
