Skip to content

[To dev/1.3] Fix pipe TsFile transfer when mod file is missing (#18756) - #18767

Open
Caideyipi wants to merge 1 commit into
apache:dev/1.3from
Caideyipi:cp-4092a780-dev-1.3
Open

Caideyipi wants to merge 1 commit into
apache:dev/1.3from
Caideyipi:cp-4092a780-dev-1.3

Conversation

@Caideyipi

Copy link
Copy Markdown
Collaborator

Description

Backport #18756 (commit 4092a78) to dev/1.3.

Missing modification file handling

  • Downgrade to a TsFile-only transfer when the modification sidecar disappears before it is opened.
  • Rebuild the conversion task information after the transfer mode changes.
  • Stop retrying a permanently missing TsFile after five attempts and report a critical sink exception while retaining the event for cleanup.

Backport adaptation

  • Resolved the async sink and TsFile handler conflicts against the dev/1.3 APIs.
  • Kept the branch's existing logging and database-name conventions.

Verification

  • mvn spotless:apply -pl iotdb-core/datanode
  • mvn test -pl iotdb-core/datanode -Dtest=IoTDBDataRegionAsyncSinkTest,PipeTransferTsFileHandlerCleanupTest
  • Tests run: 9, failures: 0, errors: 0, skipped: 0.

This PR has:

  • been self-reviewed.
  • added comments explaining the why and intent of non-obvious code.
  • added or updated unit tests to cover the new code paths.

Key changed/added classes (or packages if there are too many classes) in this PR
  • IoTDBDataRegionAsyncSink
  • PipeTransferTsFileHandler
  • IoTDBDataRegionAsyncSinkTest
  • PipeTransferTsFileHandlerCleanupTest

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