LiebingYu opened a new issue, #2856: URL: https://github.com/apache/fluss/issues/2856
### Search before asking - [x] I searched in the [issues](https://github.com/apache/fluss/issues) and found nothing similar. ### Description **Task Overview:** `Admin.alterClusterConfigs()` returns a misleading `UnknownServerException` wrapping the actual `ConfigException` when a config validation failure occurs on the server side. Callers of this API (e.g., `sys.set_cluster_configs` Flink procedure, Java Admin client) receive an opaque error message like: ``` org.apache.fluss.exception.UnknownServerException: org.apache.fluss.exception.ConfigException: The config key <key> is not allowed to be changed dynamically. ``` instead of a direct, actionable `ConfigException` with the original message. **Purpose:** Improve error transparency of `Admin.alterClusterConfigs()` so that callers can clearly identify configuration validation failures without having to unwrap a generic `UnknownServerException`. **Root Cause:** `ConfigException` is a subclass of `ApiException` but is **not registered** in `Errors.java` (`CLASS_TO_ERROR` map). Only `InvalidConfigException` (error code 39) is mapped. The call chain is: 1. `DynamicConfigManager.prepareIncrementalConfigs()` throws `ConfigException` (e.g., key not allowed for dynamic change, or invalid value type) 2. `CoordinatorService.alterClusterConfigs()` propagates it via `future.completeExceptionally(e)` inside an `AccessContextEvent` 3. The RPC layer calls `Errors.forException(ConfigException)` — no match found in `CLASS_TO_ERROR` — falls back to `UNKNOWN_SERVER_ERROR` 4. Client receives `UnknownServerException` wrapping the original `ConfigException` ### Willingness to contribute - [x] I'm willing to submit a PR! -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
