Caideyipi opened a new pull request, #18307: URL: https://github.com/apache/iotdb/pull/18307
## Description A tree-model TsFile may contain a segmented device ID with an empty path node, for example `root.` represented as `["root", ""]`. LOAD previously copied those segments into a `PartialPath` without structural validation and could auto-create an invalid `root.` database. Once persisted, later LOAD operations failed while parsing the existing database list. This PR: - rejects null or empty device path nodes before LOAD contacts ConfigNode or derives a database path; - adds a defense-in-depth check in `ConfigMTree#setStorageGroup` so invalid segmented paths cannot be persisted through another caller; - adds regression tests for both the LOAD preflight and ConfigNode metadata-tree guard. ## Tests - `mvn spotless:apply -pl iotdb-core/datanode,iotdb-core/confignode` - `mvn -pl iotdb-core/confignode -Dtest=ConfigMTreeTest test` (15 tests passed) - `LoadTsFileAnalyzerTest` compiled against the current module dependencies and run with JUnitCore (6 tests passed). The normal DataNode Maven lifecycle is currently blocked locally by unrelated stale generated Freemarker sources and SNAPSHOT dependency mismatches. This PR has: - [x] been self-reviewed. - [x] added unit tests to cover the new code paths. ##### Key changed/added classes - `TreeSchemaAutoCreatorAndVerifier` - `ConfigMTree` -- 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]
