CRZbulabula opened a new pull request, #18327:
URL: https://github.com/apache/iotdb/pull/18327

   ## Description
   
   V2-1146 exposed a consistency issue in SET CONFIGURATION for 
wal_throttle_threshold_in_byte. When an invalid text value or a value outside 
the long range was submitted, ConfigNode accepted and persisted it before 
DataNode rejected it. The statement returned status 301, but ConfigNode and 
DataNode then reported different applied values.
   
   ### Root cause
   
   ConfigNode does not load the DataNode-specific WAL threshold, so its local 
hot-reload path could not validate the value before updating the configuration 
file and broadcasting the request.
   
   ### Fix
   
   Validate both the current and deprecated WAL throttle threshold keys as long 
values at the ConfigNode entry point, before any local update or cluster 
broadcast. Invalid and overflowing values now return EXECUTE_STATEMENT_ERROR 
without changing applied configuration or configuration files.
   
   ### Verification
   
   - Added an integration regression test that first applies a valid 1 GiB 
threshold.
   - Verified that both bad and 9223372036854775808 are rejected.
   - Verified that ConfigNode and DataNode applied values remain unchanged 
after rejection.
   - Verified that neither invalid value is written to any node configuration 
file.
   - Ran the targeted integration test and full English and Chinese locale 
reactor compilation.
   
   <hr>
   
   This PR has:
   - [x] been self-reviewed.
   - [x] added integration tests.
   - [x] been tested in a test IoTDB cluster.
   
   <hr>
   
   ##### Key changed/added classes in this PR
   
   - ConfigManager
   - IoTDBSetConfigurationIT


-- 
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