Skip to content

[To dev/1.3] Prevent deleted values from reappearing after a local LOAD crash - #19188

Merged
Caideyipi merged 1 commit into
apache:dev/1.3from
Caideyipi:backport/19136-dev-1.3
Nov 9, 2026
Merged

Caideyipi merged 1 commit into
apache:dev/1.3from
Caideyipi:backport/19136-dev-1.3

Conversation

@Caideyipi

Copy link
Copy Markdown
Collaborator

Backport #19136 (c6e229aef50608cb67bfb4fd94717d05f4ef3d0f) to dev/1.3, based on cb70919de5e82f184ae60df49172889f7966c2c2.

The 1.3 local whole-file LOAD path also exposes the final .tsfile name before its resource and deletions are installed. A DataNode process crash in that window can let recovery make deleted values visible again.

Stage the data under .tsfile.load-pending, install the resource and .mods, and publish with a same-directory atomic rename. Keep the complete source group until publication, clean unpublished installations on failure and restart, and record mods metrics only after publication. A committed LOAD remains successful when source cleanup fails; retained source data keeps its sidecars.

Compatibility adaptations use 1.3's synchronous .mods and getModFile APIs, copy-based staging, and TsFile 1.1 tablet/device/schema APIs. The source's mods2 conversion changes have no counterpart in 1.3's single-format deletion storage. The unit and process-crash tests cover the equivalent supported scenarios, including both source deletion policies. Required messages are provided in both locales.

Validation:

  • English full-reactor clean test compilation and the subsequent package continuation passed; the distribution artifacts required by downstream modules were generated successfully.
  • Chinese full-reactor clean package passed with with-integration-tests, ClusterIT, and with-zh-locale.
  • LOAD regression unit tests passed: 6 tests, 0 failures, 0 errors, 0 skipped.
  • LOAD process-crash integration tests passed: 4 tests, 0 failures, 0 errors, 0 skipped.
  • Spotless and git diff --check passed.

…che#19136)

* Prevent partial local LOAD installation after process crashes

* Keep committed LOAD successful when source cleanup fails

* Avoid counting converted LOAD mods twice

* Record LOAD mods metrics only after publication

* Align LOAD cleanup tests with source group retention

(cherry picked from commit c6e229a)
@Caideyipi
Caideyipi merged commit 3dce926 into apache:dev/1.3 Nov 9, 2026
16 checks passed
@Caideyipi
Caideyipi deleted the backport/19136-dev-1.3 branch November 9, 2026 06:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant