Skip to content
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

Notify checkpoint listeners after init and replay #9943

Merged
merged 3 commits into from
Aug 2, 2022

Conversation

deepthidevaki
Copy link
Contributor

@deepthidevaki deepthidevaki commented Aug 1, 2022

Description

The listeners must be upddated with the current checkpointId after init and replay. Otherwise if there are no new checkpoint created, after a restart or failover the listeners cannot know about the latest checkpoint. It is important for InterPartitionCommandSencer and InterPartitionCommandReceiver to keep track of the latest checkpointId to guarantee that the checkpoints are consistent.

Related issues

closes #9916

Definition of Done

Not all items need to be done depending on the issue and the pull request.

Code changes:

  • The changes are backwards compatibility with previous versions
  • If it fixes a bug then PRs are created to backport the fix to the last two minor versions. You can trigger a backport by assigning labels (e.g. backport stable/1.3) to the PR, in case that fails you need to create backports manually.

Testing:

  • There are unit/integration tests that verify all acceptance criterias of the issue
  • New tests are written to ensure backwards compatibility with further versions
  • The behavior is tested manually
  • The change has been verified by a QA run
  • The impact of the changes is verified by a benchmark

Documentation:

  • The documentation is updated (e.g. BPMN reference, configuration, examples, get-started guides, etc.)
  • New content is added to the release announcement
  • If the PR changes how BPMN processes are validated (e.g. support new BPMN element) then the Camunda modeling team should be informed to adjust the BPMN linting.

Please refer to our review guidelines.

@deepthidevaki deepthidevaki changed the title Dd 9916 cp listeners Notify checkpoint listeners after init and replay Aug 1, 2022
@github-actions
Copy link
Contributor

github-actions bot commented Aug 1, 2022

Test Results

   799 files  +    2         1 errors  798 suites  +2   1h 35m 14s ⏱️ - 1m 15s
6 012 tests +210  6 003 ✔️ +210  9 💤 ±0  0 ±0 
6 198 runs  +210  6 189 ✔️ +210  9 💤 ±0  0 ±0 

For more details on these parsing errors, see this check.

Results for commit afa7f09. ± Comparison against base commit c7debcc.

♻️ This comment has been updated with latest results.

The listeners must be updated with the current checkpointId after init and replay. Otherwise if there are no new checkpoint created, after a restart or failover the listeners cannot know about the latest checkpoint.
It is important for `InterPartitionCommandSender` and `InterPartitionCommandReceiver` to keep track of the latest checkpointId to guarantee that the checkpoints are consistent.
Copy link
Member

@oleschoenburg oleschoenburg left a comment

Choose a reason for hiding this comment

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

Looks good, except that I think that we need to call the listener on register.

Copy link
Member

@oleschoenburg oleschoenburg left a comment

Choose a reason for hiding this comment

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

Awesome 🚀

@deepthidevaki
Copy link
Contributor Author

bors merge

@zeebe-bors-camunda
Copy link
Contributor

Build succeeded:

@zeebe-bors-camunda zeebe-bors-camunda bot merged commit 4be7a04 into main Aug 2, 2022
@zeebe-bors-camunda zeebe-bors-camunda bot deleted the dd-9916-cp-listeners branch August 2, 2022 08:36
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.

Notify CheckpointListeners after init and replay
2 participants