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

POC: introduce key formats #12661

Closed
wants to merge 1 commit into from
Closed

POC: introduce key formats #12661

wants to merge 1 commit into from

Conversation

Zelldon
Copy link
Member

@Zelldon Zelldon commented May 4, 2023

Description

We have some keys where we do unnecessary lookups with non existing or invalid keys like -1. If we would define the right format of a key, for example numeric key shouldn't be negative or a string key should be empty. Then we can easily handle this in our ZeebeDB API, simply return null if the key doesn't respect the key format.

This is what this PR tries todo. JMH Benchmark doesn't show any significant improvement, but might be different in our benchmarks.


Result "io.camunda.zeebe.engine.perf.EnginePerformanceTest.measureProcessExecutionTime":
  227.234 ±(99.9%) 15.272 ops/s [Average]
  (min, avg, max) = (152.141, 227.234, 1035.326), stdev = 64.663
  CI (99.9%): [211.962, 242.506] (assumes normal distribution)


# Run complete. Total time: 00:05:10

Benchmark                                           Mode  Cnt    Score    Error  Units
EnginePerformanceTest.measureProcessExecutionTime  thrpt  200  227.234 ± 15.272  ops/s

Related issues

Related to #12035
Related to #12039

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.)
  • 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.

Other teams:
If the change impacts another team an issue has been created for this team, explaining what they need to do to support this change.

Please refer to our review guidelines.

@Zelldon
Copy link
Member Author

Zelldon commented May 5, 2023

Closing for now, branch will stay to apply if we need it.

@Zelldon Zelldon closed this May 5, 2023
@Zelldon Zelldon deleted the zell-key-formats branch March 28, 2024 15:52
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

1 participant