Repository navigation
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #19136 +/- ##
=========================================
Coverage 48.53% 48.53%
Complexity 635 635
=========================================
Files 5573 5573
Lines 412215 412256 +41
Branches 54338 54344 +6
=========================================
+ Hits 200059 200108 +49
+ Misses 212156 212148 -8 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Initial independent self-review (one round). Reviewed Fixed in
Added a local whole-file LOAD regression that pauses at TsFileManager.add exit, after publication/registration and before source cleanup. It covers data/resource deletion failures and both mods formats, requires the original request to still await its response before injection, then verifies SQL success, the expected source group, every value/null, and applied deletions. Validation:
Deferred, unchanged as requested: DataRegion.java:4867 requests limiter tokens using the destination file length before creation, potentially charging zero bytes. This predates this PR. Final local HEAD = confirmed remote branch = confirmed PR head: |
|
Independent re-review, one round. Reviewed the complete seven-file diff at
Validation passed locally on Windows with JDK 17.0.15 and Maven 3.8.8:
RAT and Enforcer were skipped. Published TsFile binaries were reused and were not rebuilt or fully source-traced. The full suite and zh-locale reactor were not run; remote CI was not inspected or awaited. This validates process crashes; power-loss durability was not tested. Final local HEAD, confirmed source-branch head, and PR head are all |
|
Independent re-review, one round. Reviewed the complete seven-file diff at
Validation on Windows, JDK 17.0.15 / Maven 3.8.8:
RAT and Enforcer were skipped. External TsFile and transitive snapshot binaries were not rebuilt or fully source-traced. The full suite and zh reactor were not run; remote CI was not verified or awaited. These tests cover process crashes, not machine power loss. Final local HEAD = confirmed source-branch head = confirmed PR head: |
|
Independent re-review, round 4 (one round). Reviewed the complete eight-file diff at No new actionable in-scope findings; no fixes were needed. Coverage included staging and recovery, resource and both mods formats, atomic publication and failure cleanup, source policies and cached handles, metric registration, the new Verification in this round was read-only: all eight source hashes matched the recorded final build manifest, and the fixed-base whitespace check passed. Retained final XML was inspected for actual method selection and zero failures/errors/skips, including the latest source-policy/default-conversion tests and affected crash ITs. IT reports confirm Failsafe Existing limits remain: the full suite and full zh reactor were not run; remote CI was not independently verified or awaited. Recorded builds skipped RAT/Enforcer and used external TsFile/transitive snapshot binaries that were not rebuilt or fully source-traced. The evidence covers process crashes, not machine power loss. Final local HEAD = confirmed source-branch head = confirmed PR head: |
|
CI investigation for job 127671379005:
Validation on Windows with JDK 17.0.15 and Maven 3.8.8: rebuilt the required 28-module IoTDB dependency reactor from clean source, then clean-compiled this PR's DataNode against those source-identical prerequisite artifacts. All 4 LoadTsFileNodeTest methods and the DataRegion source-group installation regression passed: 5 tests, zero failures, errors or skips. Spotless and diff whitespace checks passed. The independent Pipe candidate's 17 executor tests and master's 3 original LOAD tests also passed separately. Existing local Maven configuration skipped Enforcer; TsFile 2.5.1-261023-SNAPSHOT came from the dependency cache and was not rebuilt or source-traced. The full suite, IT suite and zh locale were not rerun for this test-only repair. Investigated starting SHA: 23a8ec1. Final local and confirmed remote branch/PR SHA: 0871f70. This was focused CI diagnosis, not a complete independent PR review; the PR remains draft pending a fresh full-diff re-review. |
|
Incremental re-review (one round). Reviewed No actionable in-scope findings; no fixes were needed.
Verification: the incremental Final local HEAD = confirmed source-branch head = confirmed PR head: |
|




Description
Local whole-file LOAD exposes the destination TsFile before installing its resource and mods. A DataNode process crash in that window can let restart recover the file without its deletions and make deleted values visible again.
Stage the data under
.tsfile.load-pending, install the resource and mods, finish legacy mods conversion synchronously, and publish the TsFile with a same-directory atomic rename. Keep the source file group until publication, then honordeleteOriginFile. Clean unpublished groups on installation failure and restart, and bind the resource's cached mods handle to the installed file.Regression coverage
DataRegionTestto check source retention/deletion with and without mods, failure when the resource sidecar is missing, immediate staging cleanup, and the installed mods handle and contents.IoTDBLoadTsFileInstallIT, using real SQL and a shared 1C1D Simple-consensus fixture. JDWP/JDI pauses the actual local whole-file installation before mods, after mods but before publication, and after publication but before the client response. Each boundary covers bothon-successpolicies and both mods formats: 3 methods, 12 crash combinations. Recovery is checked before any explicit new LOAD, with exact values, nulls, deletions, source/target file groups, and actual DataRegion readiness. JDWP is opt-in and bound to loopback in the test environment.Validation
Before the master merge
Executed locally on Windows with JDK 17.0.15 and Maven 3.8.8, using the ClusterIT profile with the explicit 1C1D fixture. Verification used
-Drat.skip=true -Denforcer.skip=trueand TsFile version2.5.1-261023-20261023.065606-1. TsFile dependencies used published binaries and were not rebuilt or fully source-traced. The full suite and zh-locale reactor were not run; remote CI results are not included. This validates process-crash recovery; machine power-loss durability was not tested.After the master merge
Merged
masterat207503295e3in commit23a8ec1776d. The resolution preserves both the JDWP configuration and generic JVM options, as well as both independently added unit tests, without changing their logic.Spotless and diff whitespace checks passed for the merge. Compilation and runtime tests were not rerun after the merge; the test results above refer to the pre-merge revision. Remote CI results are not included.