JackieTien97 opened a new pull request, #18108: URL: https://github.com/apache/iotdb/pull/18108
## Problem `show configuration` (table model) renders `ConfigurationFileUtils.lastAppliedProperties`, which is populated from the **raw config-file values**. Several hot-reloaded parameters have setters that rewrite the loaded value before it takes effect, so their displayed value diverged from the effective in-memory value: - `if (x > 0) setX(x)` skips non-positive values → keeps the default, but the display still showed the raw `0` / negative file value - `loadFixedSizeLimitForQuery` rewrites `<=0` to a computed default → the display still showed `0` This affects only the display layer, not actual behavior (the effective value is always correct in memory). Affected keys: | key | rewrite on load | |:---|:---| | `cte_buffer_size_in_bytes` | `>0` guard | | `max_rows_in_cte_buffer` | `>0` guard | | `max_sub_task_num_for_information_table_scan` | `>0` guard | | `sort_buffer_size_in_bytes` | `<=0` → computed default (template default is `0`, so it was **always** misdisplayed) | | `mods_cache_size_limit_per_fi_in_bytes` | `<=0` → computed default (template default is `0`, so it was **always** misdisplayed) | ## Fix Add `IoTDBDescriptor.overlayEffectiveConfigurationValues()`: after the setters run, overwrite those keys in `lastAppliedProperties` with the post-setter effective value (`conf.getX()` / `commonConfig.getX()`). It is invoked in both load paths — `loadProperties` (startup) and `loadHotModifiedProps` (hot-reload) — so both local `show configuration` and `show configuration node <id>` (remote, which reads each node's own map over RPC) stay correct. This is a load-side fix rather than a display-side getter map because remote-node display can only be corrected by fixing each node's stored `lastAppliedProperties`. ## Test Added `IoTDBLoadConfigurationTableIT#showConfigurationDisplaysEffectiveValue`: - non-positive guard params (`=0` / `=-1`) → display the effective defaults (`131072` / `1000` / `4`) - a valid value (`=262144`) → displayed unchanged (no false rewrite) - `<=0` params (template default `0`) → display a positive computed default, not `0` Verified: passes with the fix; without the fix the first assertion fails with `expected:<[131072]> but was:<[0]>` (so the test is non-vacuous and actually catches the bug). 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- 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]
