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]

Reply via email to