Skip to content

Remove periodic data transfer#408

Merged
CGodiksen merged 8 commits into
mainfrom
dev/remove-periodic-data-transfer
Jul 6, 2026
Merged

Remove periodic data transfer#408
CGodiksen merged 8 commits into
mainfrom
dev/remove-periodic-data-transfer

Conversation

@CGodiksen

Copy link
Copy Markdown
Collaborator

This PR removes periodic data transfer due to reliability and consistency issues. Event-driven data transfer based on the batch size is still available.

The periodic data transfer is removed since it was the only part of the system where we had a time-based background task (or spawned background task in general) instead of event-driven handling. This change makes data transfer consistent with the rest of the system.

Furthermore, reliability issues was found due to potential concurrency problems. A background task running data transfer could overlap with optimize/vacuum/truncate and cause issues. This becomes an even larger problem when an automatic (event-driven) data optimizer is added.

When reviewing the PR, also consider whether these reasons are enough to justify the removal.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR removes the time-based (periodic) data transfer mechanism from the server, leaving only event-driven transfer based on batch size (plus explicit transfer actions), in order to improve reliability and avoid overlapping background work with other storage operations.

Changes:

  • Remove transfer_time_in_seconds from CLI/configuration, server configuration management, and remote UpdateConfiguration handling.
  • Remove the periodic transfer scheduler task from the data transfer component and storage engine initialization.
  • Update documentation/tests to reflect the removed setting.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
docs/user/README.md Removes the documented --transfer-time-in-seconds setting from the configuration table.
crates/modelardb_types/src/flight/protocol.proto Removes transfer_time_in_seconds from the public Flight protobuf surface (but currently renumbers fields/enum values).
crates/modelardb_server/tests/integration_test.rs Removes assertions/tests related to the removed transfer-time setting.
crates/modelardb_server/src/storage/mod.rs Stops starting/maintaining the periodic transfer scheduler via the storage engine.
crates/modelardb_server/src/storage/data_transfer.rs Removes the scheduler handle and periodic transfer logic from DataTransfer.
crates/modelardb_server/src/remote/mod.rs Removes UpdateConfiguration handling for the removed transfer-time setting.
crates/modelardb_server/src/main.rs Removes the transfer-time CLI argument and updates the batch-size argument docs.
crates/modelardb_server/src/configuration.rs Removes transfer-time from persisted configuration and live update logic; updates batch-size docs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread crates/modelardb_types/src/flight/protocol.proto
Comment thread crates/modelardb_server/src/main.rs
Comment thread crates/modelardb_server/src/configuration.rs
Comment thread crates/modelardb_server/src/storage/data_transfer.rs
@CGodiksen CGodiksen requested a review from skejserjensen July 6, 2026 06:42
@skejserjensen skejserjensen requested a review from chrthomsen July 6, 2026 08:34
@CGodiksen CGodiksen merged commit d263c57 into main Jul 6, 2026
5 checks passed
@CGodiksen CGodiksen deleted the dev/remove-periodic-data-transfer branch July 6, 2026 18:24
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.

4 participants