Skip to content

[Pipe] Fix conversion task ID collision after leader switch - #18494

Merged
Caideyipi merged 1 commit into
apache:masterfrom
Caideyipi:fix/pipe-conversion-task-id-collision
Aug 19, 2026
Merged

[Pipe] Fix conversion task ID collision after leader switch#18494
Caideyipi merged 1 commit into
apache:masterfrom
Caideyipi:fix/pipe-conversion-task-id-collision

Conversation

@Caideyipi

Copy link
Copy Markdown
Collaborator

What is changed

Include each event progress index in the TsFile conversion task identity, even when a committer key is present. Commit IDs are DataNode-local and can repeat after a leader change; omitting the progress index can make two different snapshots look like the same conversion task and cause the receiver to acknowledge the newer file without loading it.

Scope

This task ID is used by sync, async, and air-gap transfer paths. The fix preserves stable IDs for retries of the same progress while separating different historical snapshots.

Tests

  • Added regression coverage for identical committer/commit IDs with different progress indexes.
  • Direct JUnit execution of PipeDataNodeThriftRequestTest: 46 tests passed.
  • git diff --check passed.

The full Maven test lifecycle is currently blocked before test execution by unrelated stale/generated Freemarker compilation errors in the DataNode module.

@Caideyipi
Caideyipi merged commit ada62cb into apache:master Aug 19, 2026
41 checks passed
@Caideyipi
Caideyipi deleted the fix/pipe-conversion-task-id-collision branch August 19, 2026 07:14
Caideyipi added a commit to Caideyipi/iotdb that referenced this pull request Aug 19, 2026
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.

2 participants