Skip to content

Conversation

kim
Copy link
Contributor

@kim kim commented Sep 25, 2025

The DurabilityProvider trait was introduced to enable the HostController to procure an alternative Durability impl from an external source.

It is also useful to be able to instantiate a SnapshotWorker externally, in order to subscribe to snapshot creation events without access to the RelationalDB instance it is operating on.

At a later stage, we may also use it to control the snapshot frequency externally.

This patch thus reframes the trait as PersistenceProvider, whose job is to provide persistence-related services.

Also separates snapshot creation and compression of older snapshots, and adds instrumentation to gather timing information for both.

Description of Changes

Re-submit of #3281 (reverted by #3293), with only the intended changes.

Expected complexity level and risk

1.5

Testing

No functional changes.

The `DurabilityProvider` trait was introduced to enable the
`HostController` to procure an alternative `Durability` impl from an
external source.

It is also useful to be able to instantiate a `SnapshotWorker`
externally, in order to subscribe to snapshot creation events without
access to the `RelationalDB` instance it is operating on.

At a later stage, we may also use it to control the snapshot frequency
externally.

This patch thus reframes the trait as `PersistenceProvider`, whose job
is to provide persistence-related services.

Also separates snapshot creation and compression of older snapshots, and
adds instrumentation to gather timing information for both.
@kim kim added this pull request to the merge queue Sep 29, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Sep 29, 2025
@kim kim added this pull request to the merge queue Sep 29, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Sep 29, 2025
@kim kim added this pull request to the merge queue Sep 29, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Sep 29, 2025
@bfops bfops added the release-any To be landed in any release window label Sep 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release-any To be landed in any release window
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants