Skip to content

Conversation

@tillrohrmann
Copy link
Contributor

The version barrier requiring min Restate version v1.6.0 will enable the
journal v2 by default. It will be written when becoming leader and running
at least v1.7.0.

Writing the journal v2 by default changes the logic of the state machine. That's
why we are guarding it with a version barrier so that during a rolling upgrade the
state machine state won't diverge. A concrete problem is that Restart as new with
a non-zero prefix would fail on a node that didn't store the journal entries in the
journal v2 table.

This PR is based on #3921.

slinkydeveloper and others added 14 commits November 6, 2025 09:19
…ice invocation ingestion logic to write the journal v2
… and then tries to read from journal table v1
…tever reason the negotiated protocol when invoking will be less than 4.
…he problematic situations.

Fix some incorrectly handled corner cases, such as deletion of journal when the pinned deployment is not set yet.
This case can happen if we got an invocation scheduled (or inboxed) before the journal v2 default feature was enabled.
The version barrier requiring min Restate version v1.6.0 will enable the
journal v2 by default. It will be written when becoming leader and running
at least v1.7.0.

Writing the journal v2 by default changes the logic of the state machine. That's
why we are guarding it with a version barrier so that during a rolling upgrade the
state machine state won't diverge. A concrete problem is that Restart as new with
a non-zero prefix would fail on a node that didn't store the journal entries in the
journal v2 table.
@slinkydeveloper
Copy link
Contributor

slinkydeveloper commented Nov 6, 2025

@tillrohrmann shall i address the comment you made in my pr here directly? Or i do it on my pr and then you rebase here?

@tillrohrmann
Copy link
Contributor Author

@tillrohrmann shall i address the comment you made in my pr here directly? Or i do it on my pr and then you rebase here?

Whatever is easier for you. I don't have a strong opinion. Sorry that I changed the rstest in my PR here w/o waiting for you to get back on that to me.

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.

2 participants