Skip to content

[RIP0001] Journal retention knobs and Admin API to mutate it #3566

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

slinkydeveloper
Copy link
Contributor

Fix #3557, fix #3558.

Based on #3550

@slinkydeveloper slinkydeveloper changed the title Journal retention knobs and Admin API to mutate it [RIP0001] Journal retention knobs and Admin API to mutate it Jul 24, 2025
@slinkydeveloper slinkydeveloper marked this pull request as ready for review July 25, 2025 08:35
@slinkydeveloper slinkydeveloper added this to the 1.5 milestone Jul 25, 2025
slinkydeveloper and others added 9 commits July 25, 2025 13:18
This commit contains the changes described in restatedev#3303

* metadata contains the "implementation" of the schema registry, and the serializable data structure `Schema`.
* `metadata/mod.rs` contains the definition of `Schema` and the implementation of the various schema registry APIs. All the fields are private, and access should be available only through schema registry APIs or `SchemaUpdater`.
* `Schema` now uses the new data types from the old `v2.rs` file. On deserialization, we infer the "active service revisions" index (the logic for that is within `serde_hacks`).
* `v2.rs` conversions was moved to `metadata/serde_hacks.rs`, the new data model is directly in `metadata/mod.rs`. Inside it, I moved the old data types *Schemas, which should not be used anymore.
* `SchemaUpdater` was moved inside `metadata`, and deals with the new `Schema` data structure. The behavior remains untouched.

Everything else is more or less copying stuff around and renaming.
* This implements all the config option changes described in RIP0001
* The new env variables related to journal retention are in `InvocationOptions`.
* Removed the force journal retention env
…gress kafka would apply the retention values only for workflows.
@slinkydeveloper slinkydeveloper force-pushed the add_global_journal_retention_limit branch from 5e55bbd to 4a91530 Compare July 25, 2025 11:21
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.

Implement Admin API to mutate journal retention Implement max journal retention and default journal retention configuration options
2 participants