-
Notifications
You must be signed in to change notification settings - Fork 67
Retain journal after completion #3250
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Conversation
f968c6b
to
e3a5b96
Compare
…his is by default disabled, and enabled when JournalRetentionPolicy::Retain
Add business logic to remove journal when purging invocation.
This also includes few sensible changes to the internal API InvocationTargetMetadata, to map its values more easily to what the ServiceInvocation supports.
e3a5b96
to
1209e3c
Compare
} | ||
} | ||
|
||
pub fn compute_retention(&self, has_idempotency_key: bool) -> InvocationRetention { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the review, this is super important.
For context, this is the deployment manifest PR: #3295 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I accidentally started with the last PR in line and therefore added all my comments to #3296. Some of which might actually apply to this PR. Sorry for this.
Merged with #3296 |
Fix #892
This PR makes sure we store in the completed invocation status the journal length, adds purge journal command, adds support in the cleaner to purge the journal, adds journal retention to invocation request (to be propagated from the schema registry, see followup prs).
TODO for myself to finish this:
Evaluate whether we need disabling workflow retention default for 1.4 (because of backward compatibility).This needs version gapIntroduce something likeWe don't do it, I rather do in a followup a hidden flag to enable journal retention for everything by default.restate-server --dev
, to set journal retention on by default for all invocations during development.