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

Document how to do inter-partition communication #10083

Merged
merged 3 commits into from
Aug 18, 2022

Conversation

korthout
Copy link
Member

@korthout korthout commented Aug 16, 2022

Description

During our team meeting, we discussed that we wanted to document how we do (and want to do) inter-partition communication.

This is an attempt to document how we want to do inter-partition communication, and why it should be done this way.

Related issues

relates to #10064

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.

This tries to explain how we want to do inter-partition communication,
and why it should be done this way.
@korthout korthout marked this pull request as ready for review August 16, 2022 13:50
@github-actions
Copy link
Contributor

github-actions bot commented Aug 16, 2022

Test Results

   843 files  ±    0     843 suites  ±0   1h 41m 15s ⏱️ + 3m 15s
6 324 tests  - 155  6 313 ✔️  - 155  11 💤 ±0  0 ±0 
6 508 runs   - 155  6 497 ✔️  - 155  11 💤 ±0  0 ±0 

Results for commit dd2d438. ± Comparison against base commit 52f56d9.

♻️ This comment has been updated with latest results.

Copy link
Contributor

@pihme pihme left a comment

Choose a reason for hiding this comment

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

The info blocks don't render as intended


As we've seen, the sending partition may send a command many times to another partition. So, the engine must be able to deal with these redundant commands (i.e. commands that are sent many times). To be specific, the engine must process commands received from another partition idempotently.

:::info
Copy link
Contributor

Choose a reason for hiding this comment

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

Copy link
Member Author

Choose a reason for hiding this comment

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

Interesting. I've found that GH supports info blocks in the form of block quotes (beta feature that may be subject to change).

That looks like this:

Note
So information, much wow!

There is a discussion ongoing about supporting the :::info\n...\n:::syntax.

docs/developer_handbook.md Outdated Show resolved Hide resolved
docs/developer_handbook.md Outdated Show resolved Hide resolved
docs/developer_handbook.md Outdated Show resolved Hide resolved
korthout and others added 2 commits August 16, 2022 16:50
GH markdown syntax now supports info and warning blocks
in the form of blockquotes.

This is silly because the rest of the internet uses the ::: syntax.
But at least this is rendered by GH.

See community/community#16925
@korthout korthout force-pushed the korthout-doc-interpartition-communication branch from 96833cd to dd2d438 Compare August 16, 2022 14:50
Copy link
Contributor

@pihme pihme left a comment

Choose a reason for hiding this comment

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

lgtm 🎉

Copy link
Member

@saig0 saig0 left a comment

Choose a reason for hiding this comment

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

@korthout nice 👍

@korthout
Copy link
Member Author

bors merge

@zeebe-bors-camunda
Copy link
Contributor

Build succeeded:

@zeebe-bors-camunda zeebe-bors-camunda bot merged commit e5262e2 into main Aug 18, 2022
@zeebe-bors-camunda zeebe-bors-camunda bot deleted the korthout-doc-interpartition-communication branch August 18, 2022 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.

None yet

4 participants