-
Notifications
You must be signed in to change notification settings - Fork 15
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
Don't iterate over deleted keys in a transaction #930
Conversation
When iterating in an open transaction, we would create an iterator containing all entries in the database as well as the entries in the transaction cache. This ensures any keys added in the same transaction are also encountered during iterating. We do not do anything with the keys that are deleted within the transaction. As a result, when iterating we will go over keys that are already deleted. This is wrong. The keys are deleted, so we should not encounter them anymore during iterating.
When iterating in an open transaction, we would create an iterator containing all entries in the database as well as the entries in the transaction cache. This ensures any keys added in the same transaction are also encountered during iterating. We do not do anything with the keys that are deleted within the transaction. As a result, when iterating we will go over keys that are already deleted. This is wrong. The keys are deleted, so we should not encounter them anymore during iterating.
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.
LGTM, nice one 🚀
bors merge |
Build succeeded: |
Validation Failed: {"resource":"Issue","code":"custom","message":"must be a collaborator"} |
2 similar comments
Validation Failed: {"resource":"Issue","code":"custom","message":"must be a collaborator"} |
Validation Failed: {"resource":"Issue","code":"custom","message":"must be a collaborator"} |
Already running a review |
/backport |
Git push to origin failed for stable/8.1 with exitcode 1 |
Git push to origin failed for stable/8.2 with exitcode 1 |
Git push to origin failed for stable/8.3 with exitcode 1 |
Git push to origin failed for stable/8.1 with exitcode 1 |
Git push to origin failed for stable/8.2 with exitcode 1 |
Git push to origin failed for stable/8.3 with exitcode 1 |
15777: deps(maven): Update version.zpt to v8.4.0 (main) r=github-actions[bot] a=renovate[bot] [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [io.camunda:zeebe-process-test-filters](https://github.com/camunda-community-hub/zeebe-process-test-root/zeebe-process-test-filters/) ([source](https://github.com/camunda/zeebe-process-test)) | `8.3.4` -> `8.4.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/io.camunda:zeebe-process-test-filters/8.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.camunda:zeebe-process-test-filters/8.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.camunda:zeebe-process-test-filters/8.3.4/8.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.camunda:zeebe-process-test-filters/8.3.4/8.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [io.camunda:zeebe-process-test-assertions](https://github.com/camunda-community-hub/zeebe-process-test-root/zeebe-process-test-assertions/) ([source](https://github.com/camunda/zeebe-process-test)) | `8.3.4` -> `8.4.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/io.camunda:zeebe-process-test-assertions/8.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.camunda:zeebe-process-test-assertions/8.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.camunda:zeebe-process-test-assertions/8.3.4/8.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.camunda:zeebe-process-test-assertions/8.3.4/8.4.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>camunda/zeebe-process-test (io.camunda:zeebe-process-test-filters)</summary> ### [`v8.4.0`](https://github.com/camunda/zeebe-process-test/releases/tag/8.4.0) [Compare Source](https://github.com/camunda/zeebe-process-test/compare/8.3.5...8.4.0) ##### What's Changed - build(deps): Bump com.google.protobuf:protobuf-java from 3.24.3 to 3.24.4 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/924](https://github.com/camunda/zeebe-process-test/pull/924) - build(deps): Bump com.google.googlejavaformat:google-java-format from 1.18.0 to 1.18.1 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/925](https://github.com/camunda/zeebe-process-test/pull/925) - Release 8.3.0 by [`@​camundait](https://github.com/camundait)` in [https://github.com/camunda/zeebe-process-test/pull/926](https://github.com/camunda/zeebe-process-test/pull/926) - build(deps): Bump dependency.testcontainers.version from 1.19.0 to 1.19.1 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/918](https://github.com/camunda/zeebe-process-test/pull/918) - build(deps): Bump org.immutables:value from 2.9.3 to 2.10.0 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/928](https://github.com/camunda/zeebe-process-test/pull/928) - build(deps): Bump net.bytebuddy:byte-buddy from 1.14.8 to 1.14.9 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/927](https://github.com/camunda/zeebe-process-test/pull/927) - build(deps): Bump com.google.api.grpc:proto-google-common-protos from 2.25.1 to 2.26.0 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/929](https://github.com/camunda/zeebe-process-test/pull/929) - Don't iterate over deleted keys in a transaction by [`@​remcowesterhoud](https://github.com/remcowesterhoud)` in [https://github.com/camunda/zeebe-process-test/pull/930](https://github.com/camunda/zeebe-process-test/pull/930) - build(deps): Bump io.netty:netty-bom from 4.1.99.Final to 4.1.100.Final by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/931](https://github.com/camunda/zeebe-process-test/pull/931) - build(deps): Bump com.google.guava:guava from 32.1.2-jre to 32.1.3-jre by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/936](https://github.com/camunda/zeebe-process-test/pull/936) - build(deps): Bump dependency.spring.version from 6.0.12 to 6.0.13 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/937](https://github.com/camunda/zeebe-process-test/pull/937) - build(deps): Bump io.github.classgraph:classgraph from 4.8.162 to 4.8.163 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/941](https://github.com/camunda/zeebe-process-test/pull/941) - build(deps): Bump com.fasterxml.jackson:jackson-bom from 2.15.2 to 2.15.3 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/940](https://github.com/camunda/zeebe-process-test/pull/940) - build(deps): Bump org.jacoco:jacoco-maven-plugin from 0.8.10 to 0.8.11 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/942](https://github.com/camunda/zeebe-process-test/pull/942) - Upgrade to java 21 by [`@​remcowesterhoud](https://github.com/remcowesterhoud)` in [https://github.com/camunda/zeebe-process-test/pull/938](https://github.com/camunda/zeebe-process-test/pull/938) - build(deps): Bump com.google.errorprone:error_prone_annotations from 2.22.0 to 2.23.0 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/943](https://github.com/camunda/zeebe-process-test/pull/943) - build(deps): Bump io.grpc:grpc-bom from 1.58.0 to 1.59.0 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/944](https://github.com/camunda/zeebe-process-test/pull/944) - build(deps): Bump com.google.api.grpc:proto-google-common-protos from 2.26.0 to 2.27.0 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/945](https://github.com/camunda/zeebe-process-test/pull/945) - build(deps): Bump org.camunda.feel:feel-engine from 1.17.0 to 1.17.1 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/946](https://github.com/camunda/zeebe-process-test/pull/946) - build(deps): Bump org.apache.maven.plugins:maven-surefire-plugin from 3.1.2 to 3.2.1 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/947](https://github.com/camunda/zeebe-process-test/pull/947) - build(deps): Bump org.apache.maven.plugins:maven-dependency-plugin from 3.6.0 to 3.6.1 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/948](https://github.com/camunda/zeebe-process-test/pull/948) - build(deps): Bump hashicorp/vault-action from 2.7.3 to 2.7.4 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/949](https://github.com/camunda/zeebe-process-test/pull/949) - build(deps): Bump korthout/backport-action from 1 to 2 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/950](https://github.com/camunda/zeebe-process-test/pull/950) - build(deps): Bump com.google.api.grpc:proto-google-common-protos from 2.27.0 to 2.28.0 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/951](https://github.com/camunda/zeebe-process-test/pull/951) - build(deps): Bump org.agrona:agrona from 1.19.2 to 1.20.0 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/953](https://github.com/camunda/zeebe-process-test/pull/953) - build(deps): Bump io.github.classgraph:classgraph from 4.8.163 to 4.8.164 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/955](https://github.com/camunda/zeebe-process-test/pull/955) - build(deps): Bump org.junit:junit-bom from 5.10.0 to 5.10.1 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/956](https://github.com/camunda/zeebe-process-test/pull/956) - build(deps): Bump com.google.protobuf:protobuf-java from 3.24.4 to 3.25.0 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/954](https://github.com/camunda/zeebe-process-test/pull/954) - build(deps): Bump org.camunda.community:community-hub-release-parent from 1.4.3 to 1.4.4 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/957](https://github.com/camunda/zeebe-process-test/pull/957) - build(deps): Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.1 to 3.2.2 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/958](https://github.com/camunda/zeebe-process-test/pull/958) - build(deps): Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.6.0 to 3.6.2 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/959](https://github.com/camunda/zeebe-process-test/pull/959) - Properly support Signal broadcasting by [`@​remcowesterhoud](https://github.com/remcowesterhoud)` in [https://github.com/camunda/zeebe-process-test/pull/966](https://github.com/camunda/zeebe-process-test/pull/966) - Prevent backport loops by [`@​remcowesterhoud](https://github.com/remcowesterhoud)` in [https://github.com/camunda/zeebe-process-test/pull/968](https://github.com/camunda/zeebe-process-test/pull/968) - build(deps): Bump dependency.testcontainers.version from 1.19.1 to 1.19.2 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/976](https://github.com/camunda/zeebe-process-test/pull/976) - chore(project): prepare for next release by [`@​tmetzke](https://github.com/tmetzke)` in [https://github.com/camunda/zeebe-process-test/pull/979](https://github.com/camunda/zeebe-process-test/pull/979) - Note about Java version compatibility by [`@​jonathanlukas](https://github.com/jonathanlukas)` in [https://github.com/camunda/zeebe-process-test/pull/974](https://github.com/camunda/zeebe-process-test/pull/974) - build(deps): Bump com.google.protobuf:protobuf-java from 3.25.0 to 3.25.1 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/981](https://github.com/camunda/zeebe-process-test/pull/981) - build(deps): Bump com.fasterxml.jackson:jackson-bom from 2.15.3 to 2.16.0 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/980](https://github.com/camunda/zeebe-process-test/pull/980) - Add user task and process instance migration loggers by [`@​tmetzke](https://github.com/tmetzke)` in [https://github.com/camunda/zeebe-process-test/pull/978](https://github.com/camunda/zeebe-process-test/pull/978) - build(deps): Bump dependency.spring.version from 6.0.13 to 6.1.0 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/986](https://github.com/camunda/zeebe-process-test/pull/986) - build(deps): Bump io.github.classgraph:classgraph from 4.8.164 to 4.8.165 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/985](https://github.com/camunda/zeebe-process-test/pull/985) - build(deps): Bump net.bytebuddy:byte-buddy from 1.14.9 to 1.14.10 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/988](https://github.com/camunda/zeebe-process-test/pull/988) - build(deps): Bump org.camunda.feel:feel-engine from 1.17.1 to 1.17.3 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/987](https://github.com/camunda/zeebe-process-test/pull/987) - build(deps): Bump dependency.testcontainers.version from 1.19.2 to 1.19.3 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/989](https://github.com/camunda/zeebe-process-test/pull/989) - build(deps): Bump org.apache.commons:commons-lang3 from 3.13.0 to 3.14.0 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/990](https://github.com/camunda/zeebe-process-test/pull/990) - build(deps): Bump dependency.spring.version from 6.1.0 to 6.1.1 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/991](https://github.com/camunda/zeebe-process-test/pull/991) - build(deps): Bump io.grpc:grpc-bom from 1.59.0 to 1.59.1 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/994](https://github.com/camunda/zeebe-process-test/pull/994) - Support update job timeout command by [`@​ana-vinogradova-camunda](https://github.com/ana-vinogradova-camunda)` in [https://github.com/camunda/zeebe-process-test/pull/993](https://github.com/camunda/zeebe-process-test/pull/993) - build(deps): Bump actions/setup-java from 3 to 4 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/996](https://github.com/camunda/zeebe-process-test/pull/996) - feat: add compensation subscription record by [`@​nicpuppa](https://github.com/nicpuppa)` in [https://github.com/camunda/zeebe-process-test/pull/998](https://github.com/camunda/zeebe-process-test/pull/998) - build(deps): Bump com.google.api.grpc:proto-google-common-protos from 2.28.0 to 2.29.0 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/997](https://github.com/camunda/zeebe-process-test/pull/997) - build(deps): Bump io.grpc:grpc-bom from 1.59.1 to 1.60.0 by [`@​dependabot](https://github.com/dependabot)` in [https://github.com/camunda/zeebe-process-test/pull/1005](https://github.com/camunda/zeebe-process-test/pull/1005) - \[Backport release-8.4.0] Support using process instance migration from the zeebe client by [`@​backport-action](https://github.com/backport-action)` in [https://github.com/camunda/zeebe-process-test/pull/1013](https://github.com/camunda/zeebe-process-test/pull/1013) ##### New Contributors - [`@​tmetzke](https://github.com/tmetzke)` made their first contribution in [https://github.com/camunda/zeebe-process-test/pull/979](https://github.com/camunda/zeebe-process-test/pull/979) - [`@​ana-vinogradova-camunda](https://github.com/ana-vinogradova-camunda)` made their first contribution in [https://github.com/camunda/zeebe-process-test/pull/993](https://github.com/camunda/zeebe-process-test/pull/993) **Full Changelog**: camunda/zeebe-process-test@8.3.0...8.4.0 ### [`v8.3.5`](https://github.com/camunda/zeebe-process-test/releases/tag/8.3.5) [Compare Source](https://github.com/camunda/zeebe-process-test/compare/8.3.4...8.3.5) ##### What's Changed - Release 8.3.4 by [`@​camundait](https://github.com/camundait)` in [https://github.com/camunda/zeebe-process-test/pull/1002](https://github.com/camunda/zeebe-process-test/pull/1002) **Full Changelog**: camunda/zeebe-process-test@8.3.4...8.3.5 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 8pm every weekday,before 6am every weekday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/camunda/zeebe). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Description
When iterating in an open transaction, we would create an iterator containing all entries in the database as well as the entries in the transaction cache. This ensures any keys added in the same transaction are also encountered during iterating.
We do not do anything with the keys that are deleted within the transaction. As a result, when iterating we will go over keys that are already deleted. This is wrong. The keys are deleted, so we should not encounter them anymore during iterating.
Related issues
closes #876
Definition of Done
Not all items need to be done depending on the issue and the pull request.
Code changes:
Testing:
Documentation: