Releases: ChrisKujawa/zdb
2.5.0
What's Changed
- build(deps): bump org.openjfx:javafx-controls from 21 to 22.0.1 by @dependabot in #410
- build(deps): bump org.apache.maven.plugins:maven-compiler-plugin from 3.11.0 to 3.13.0 by @dependabot in #412
- build(deps): bump org.openjfx:javafx-fxml from 21 to 22.0.1 by @dependabot in #411
- build(deps): bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.5 to 3.3.0 by @dependabot in #413
- Update ZDB to latest Zeebe by @ChrisKujawa in #429
- chore: Configure Renovate by @renovate in #427
- chore(deps): update dependency com.google.cloud.tools:jib-maven-plugin to v3.4.4 by @renovate in #430
- chore(deps): update dependency io.zeebe:zeebe-test-container to v3.6.5 by @renovate in #431
- fix(deps): update dependency org.jetbrains.kotlinx:kotlinx-serialization-json-jvm to v1.7.3 by @renovate in #434
- chore(deps): update dependency org.awaitility:awaitility to v4.2.2 by @renovate in #433
- fix(deps): update dependency org.openjfx:javafx-fxml to v22.0.2 by @renovate in #436
- fix(deps): update dependency org.openjfx:javafx-controls to v22.0.2 by @renovate in #435
- chore(deps): update actions/setup-java action to v4.6.0 by @renovate in #438
- chore(deps): update dependency com.spotify.fmt:fmt-maven-plugin to v2.25 by @renovate in #440
- chore(deps): update dependency org.assertj:assertj-core to v3.27.0 by @renovate in #443
- chore(deps): update dependency org.apache.maven.plugins:maven-surefire-plugin to v3.5.2 by @renovate in #442
- chore(deps): update dependency org.testcontainers:junit-jupiter to v1.20.4 - autoclosed by @renovate in #444
- fix(deps): update kotlin monorepo to v2.1.0 by @renovate in #447
- fix(deps): update dependency org.openjfx:javafx-controls to v24 by @renovate in #448
- fix(deps): update dependency org.openjfx:javafx-fxml to v24 by @renovate in #449
- fix(deps): update slf4j monorepo to v2.0.16 by @renovate in #437
- chore(deps): update dependency org.apache.maven.plugins:maven-checkstyle-plugin to v3.6.0 by @renovate in #441
- chore(deps): update dependency com.mycila:license-maven-plugin to v4.6 by @renovate in #439
- chore(deps): update docker/login-action action to v3.3.0 by @renovate in #445
New Contributors
Full Changelog: 2.4.1...2.5.0
2.4.1
What's Changed
Full Changelog: 2.4.0...2.4.1
2.4.0
What's Changed
Features
Extended Key formatters
Extend key formatters by @Zelldon in #405
Example
$ ./zdb state list -cf ELEMENT_INSTANCE_KEY -p raft-partition/partitions/1/snapshots/15-1-38-53/ | jq
{
"data": [
{
"cf": "ELEMENT_INSTANCE_KEY",
"key": "2251799813685251",
"value": {
"parentKey": -1,
"childCount": 1,
"childActivatedCount": 0,
"childCompletedCount": 0,
"childTerminatedCount": 0,
"jobKey": 0,
"multiInstanceLoopCounter": 0,
"interruptingElementId": "",
"calledChildInstanceKey": -1,
"elementRecord": {
"key": 2251799813685251,
"state": "ELEMENT_ACTIVATED",
"processInstanceRecord": {
"bpmnElementType": "PROCESS",
"elementId": "run-release",
"bpmnProcessId": "run-release",
"version": 1,
"processDefinitionKey": 2251799813685249,
"processInstanceKey": 2251799813685251,
"flowScopeKey": -1,
"bpmnEventType": "UNSPECIFIED",
"parentProcessInstanceKey": -1,
"parentElementInstanceKey": -1,
"tenantId": "<default>"
}
},
"activeSequenceFlows": 0,
"userTaskKey": -1,
"executionListenerIndex": 0
}
},
We support most of the currently used column families with built-in key formatters now.
Frontend for ZDB
Add Frontend (JavaFX based) to ZDB by @Zelldon in #407
New deliverable and script added to release zdb-frontend
and zdb-frontend.jar
.
Run ./zdb-frontent
or java -jar zdb-frontend.jar
and start the new ZDB frontend, allowing similar investigation to the CLI tool.
Investigating the log, with extra filters to reduce noise
Investigating the state, with possibility to check all column families, reusing key-formatters to show the right key-values.
Dependencies
- build(deps-dev): bump org.slf4j:slf4j-simple from 2.0.12 to 2.0.13 by @dependabot in #389
- build(deps): bump version.slf4j from 2.0.12 to 2.0.13 by @dependabot in #388
- build(deps): bump dependabot/fetch-metadata from 2.0.0 to 2.1.0 by @dependabot in #391
- build(deps): bump kotlin.version from 1.9.23 to 1.9.24 by @dependabot in #392
- build(deps): bump zeebe.version from 8.5.0 to 8.5.1 by @dependabot in #394
- build(deps): bump version.picocli from 4.7.5 to 4.7.6 by @dependabot in #395
- build(deps): bump org.testcontainers:junit-jupiter from 1.19.7 to 1.19.8 by @dependabot in #396
- build(deps): bump com.mycila:license-maven-plugin from 4.3 to 4.5 by @dependabot in #397
- build(deps): bump kotlin.version from 1.9.24 to 2.0.0 by @dependabot in #398
- build(deps): bump org.assertj:assertj-core from 3.25.3 to 3.26.0 by @dependabot in #399
- build(deps): bump docker/login-action from 3.1.0 to 3.2.0 by @dependabot in #400
- build(deps): bump com.google.cloud.tools:jib-maven-plugin from 3.4.2 to 3.4.3 by @dependabot in #401
- build(deps): bump zeebe.version from 8.5.1 to 8.5.3 by @dependabot in #406
- build(deps): bump org.jetbrains.kotlinx:kotlinx-serialization-json-jvm from 1.6.3 to 1.7.0 by @dependabot in #404
- build(deps): bump org.apache.maven.plugins:maven-checkstyle-plugin from 3.3.1 to 3.4.0 by @dependabot in #403
Full Changelog: 2.3.0...2.4.0
2.3.0
What's Changed
- build(deps): bump dependabot/fetch-metadata from 1.6.0 to 2.0.0 by @dependabot in #385
- build(deps): bump com.google.cloud.tools:jib-maven-plugin from 3.4.1 to 3.4.2 by @dependabot in #386
- build(deps): bump zeebe.version from 8.4.5 to 8.5.0 by @dependabot in #387
- Add new version v85 test by @Zelldon in #390
Full Changelog: 2.2.0...2.3.0
2.2.0
What's Changed
- build(deps): bump com.spotify.fmt:fmt-maven-plugin from 2.21.1 to 2.22 by @dependabot in #351
- build(deps-dev): bump io.zeebe:zeebe-test-container from 3.6.2 to 3.6.3 by @dependabot in #353
- build(deps): bump com.spotify.fmt:fmt-maven-plugin from 2.22 to 2.22.1 by @dependabot in #355
- build(deps): bump org.assertj:assertj-core from 3.25.1 to 3.25.2 by @dependabot in #356
- build(deps): bump org.testcontainers:junit-jupiter from 1.19.3 to 1.19.4 by @dependabot in #357
- build(deps): bump zeebe.version from 8.4.0 to 8.4.1 by @dependabot in #358
- build(deps): bump org.junit.jupiter:junit-jupiter-api from 5.10.1 to 5.10.2 by @dependabot in #359
- build(deps): bump org.assertj:assertj-core from 3.25.2 to 3.25.3 by @dependabot in #361
- build(deps): bump org.junit.jupiter:junit-jupiter-engine from 5.10.1 to 5.10.2 by @dependabot in #360
- build(deps-dev): bump org.slf4j:slf4j-simple from 2.0.11 to 2.0.12 by @dependabot in #363
- build(deps): bump version.slf4j from 2.0.11 to 2.0.12 by @dependabot in #362
- build(deps): bump zeebe.version from 8.4.1 to 8.4.2 by @dependabot in #364
- build(deps): bump org.testcontainers:junit-jupiter from 1.19.4 to 1.19.5 by @dependabot in #365
- build(deps): bump zeebe.version from 8.4.2 to 8.4.3 by @dependabot in #366
- build(deps): bump org.jetbrains.kotlinx:kotlinx-serialization-json-jvm from 1.6.2 to 1.6.3 by @dependabot in #367
- build(deps): bump org.testcontainers:junit-jupiter from 1.19.5 to 1.19.6 by @dependabot in #368
- build(deps): bump com.google.cloud.tools:jib-maven-plugin from 3.4.0 to 3.4.1 by @dependabot in #372
- build(deps): bump zeebe.version from 8.4.3 to 8.4.4 by @dependabot in #371
- build(deps): bump actions/setup-java from 4.0.0 to 4.1.0 by @dependabot in #373
- build(deps): bump org.testcontainers:junit-jupiter from 1.19.6 to 1.19.7 by @dependabot in #374
- build(deps): bump kotlin.version from 1.9.22 to 1.9.23 by @dependabot in #375
- build(deps): bump zeebe.version from 8.4.4 to 8.4.5 by @dependabot in #376
- build(deps): bump com.spotify.fmt:fmt-maven-plugin from 2.22.1 to 2.23 by @dependabot in #377
- build(deps): bump org.apache.maven.plugins:maven-assembly-plugin from 3.6.0 to 3.7.0 by @dependabot in #378
- build(deps): bump docker/login-action from 3.0.0 to 3.1.0 by @dependabot in #379
- build(deps): bump actions/setup-java from 4.1.0 to 4.2.1 by @dependabot in #381
- build(deps-dev): bump org.awaitility:awaitility from 4.2.0 to 4.2.1 by @dependabot in #382
- build(deps): bump org.apache.maven.plugins:maven-compiler-plugin from 3.12.1 to 3.13.0 by @dependabot in #384
- build(deps): bump org.apache.maven.plugins:maven-assembly-plugin from 3.7.0 to 3.7.1 by @dependabot in #383
- feat: decode keys in state list command by @oleschoenburg in #370
Full Changelog: 2.1.0...2.2.0
2.1.0
What's Changed
- Update Zeebe dependency to 8.4, additionally migrated to Java 21.
Deps
build(deps): bump org.junit.jupiter:junit-jupiter-engine from 5.10.0 to 5.10.1 by @dependabot in #323
- build(deps): bump org.junit.jupiter:junit-jupiter-api from 5.10.0 to 5.10.1 by @dependabot in #324
- build(deps): bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.1 to 3.2.2 by @dependabot in #325
- build(deps): bump zeebe.version from 8.3.1 to 8.3.2 by @dependabot in #326
- build(deps): bump org.testcontainers:junit-jupiter from 1.19.1 to 1.19.2 by @dependabot in #327
- build(deps): bump org.jetbrains.kotlinx:kotlinx-serialization-json-jvm from 1.6.0 to 1.6.1 by @dependabot in #328
- build(deps): bump zeebe.version from 8.3.2 to 8.3.3 by @dependabot in #329
- build(deps): bump org.testcontainers:junit-jupiter from 1.19.2 to 1.19.3 by @dependabot in #330
- build(deps): bump kotlin.version from 1.9.20 to 1.9.21 by @dependabot in #331
- build(deps): bump actions/setup-java from 3.13.0 to 4.0.0 by @dependabot in #333
- build(deps): bump org.jetbrains.kotlinx:kotlinx-serialization-json-jvm from 1.6.1 to 1.6.2 by @dependabot in #334
- build(deps): bump zeebe.version from 8.3.3 to 8.3.4 by @dependabot in #335
- build(deps): bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.2 to 3.2.3 by @dependabot in #336
- build(deps): bump github/codeql-action from 2 to 3 by @dependabot in #337
- build(deps): bump org.apache.maven.plugins:maven-compiler-plugin from 3.11.0 to 3.12.0 by @dependabot in #338
- build(deps-dev): bump io.zeebe:zeebe-test-container from 3.6.0 to 3.6.1 by @dependabot in #339
- build(deps-dev): bump io.zeebe:zeebe-test-container from 3.6.1 to 3.6.2 by @dependabot in #341
- build(deps): bump kotlin.version from 1.9.21 to 1.9.22 by @dependabot in #340
- build(deps): bump org.apache.maven.plugins:maven-compiler-plugin from 3.12.0 to 3.12.1 by @dependabot in #342
- build(deps): bump version.slf4j from 2.0.9 to 2.0.10 by @dependabot in #344
- build(deps-dev): bump org.slf4j:slf4j-simple from 2.0.9 to 2.0.10 by @dependabot in #343
- build(deps): bump org.assertj:assertj-core from 3.24.2 to 3.25.0 by @dependabot in #345
- build(deps): bump org.assertj:assertj-core from 3.25.0 to 3.25.1 by @dependabot in #346
- build(deps-dev): bump org.slf4j:slf4j-simple from 2.0.10 to 2.0.11 by @dependabot in #349
- build(deps): bump version.slf4j from 2.0.10 to 2.0.11 by @dependabot in #348
- build(deps): bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.3 to 3.2.5 by @dependabot in #350
Full Changelog: 2.0.2...2.1.0
2.0.2
What's Changed
- Fix reading of old records and rejectiontype by @Zelldon in #322
Full Changelog: 2.0.1...2.0.2
2.0.1
What's Changed
- build(deps): bump kotlin.version from 1.9.10 to 1.9.20 by @dependabot in #318
- Ignore empty async created segments by @Zelldon in #319
Full Changelog: 2.0.0...2.0.1
2.0.0
Refactoring of ZDB
Key facts
- Dependencies were reduced/removed
- no longer depending on engine/state classes to read state, allows to handle newer versions better
- reduces the size of the end artifact by ~30% (from 90 to 60 MB).
- Several bug fixes and better error handling
- especially for unknown values (e.g. column families)
- Large improvement in test coverage (by 353% from 45 to 159 tests)
- especially IT tests with different versions
- allows support for different Zeebe versions, 8.1, 8.2, 8.3
- Experimental state feature moved to stable
- Remove unused features
- banned instances sub-command, can be also investigated with state command
- general status, was replaced with the state command
Details
State
The previously introduced experimental feature, where we simply open a read-only RocksDB instance and read the data without state classes, and the ZeebeDB module was upgraded to a stable state. It replaced all previous usage of state and engine classes.
This means now, instead of using engine-related classes to deserialize data we use simply msgpack to json conversation. This allows to remove the dependency to such modules and classes and to better handle newer versions, where classes or data formats are not known. The assumption is that all values are always msgpack encoded (which is right now the case in Zeebe).
Data is read via visitor patters, this means we no longer read all data into memory before printing to system out.
Log
The log classes have been updated to the recent changes, which means the versions checks are removed again. Mostly copied from Zeebe journal code.
Remove several Zeebe interface usages to avoid incompatibles and breaking changes on newer versions
Tests
Several tests have been adjusted and for different versions they are repeated now. We have now a test suite that runs tests against the following versions: 8.1, 8.2, 8.3, and SNAPSHOT.
SNAPSHOT should allow us to easily detect when something breaking is introduced. The other versions allow us to verify that ZDB is working against such versions, which wasn't the case before.
There were several new edge cases verified and tested, like what if a different format is used in the values (but still msgpack), what if the column family is not known (not corresponding to the current version) etc.
Make tests reproducible and predictable on all versions, via enabling WAL and enabling batch processing, etc.
Related issues
PR's merged
- build(deps): bump actions/setup-java from 3.12.0 to 3.13.0 by @dependabot in #299
- build(deps): bump com.google.cloud.tools:jib-maven-plugin from 3.3.2 to 3.4.0 by @dependabot in #300
- build(deps): bump com.spotify.fmt:fmt-maven-plugin from 2.20 to 2.21.1 by @dependabot in #301
- build(deps): bump zeebe.version from 8.2.13 to 8.2.14 by @dependabot in #303
- build(deps): bump zeebe.version from 8.2.14 to 8.2.15 by @dependabot in #304
- build(deps-dev): bump org.testcontainers:junit-jupiter from 1.19.0 to 1.19.1 by @dependabot in #306
- build(deps): bump com.mycila:license-maven-plugin from 4.2 to 4.3 by @dependabot in #305
- build(deps): bump org.apache.maven.plugins:maven-surefire-plugin from 3.1.2 to 3.2.1 by @dependabot in #312
- Refactoring of ZDB by @Zelldon in #311
- build(deps): bump org.apache.maven.plugins:maven-checkstyle-plugin from 3.3.0 to 3.3.1 by @dependabot in #313
- build(deps): bump zeebe.version from 8.3.0 to 8.3.1 by @dependabot in #314
- build(deps): bump org.apache.maven.plugins:maven-surefire-plugin from 3.1.2 to 3.2.1 by @dependabot in #315
Full Changelog: 1.9.0...2.0.0
1.9.0
What's Changed
Features
Added new option to print in table/csv format see #298
Allows to print the Zeebe log in a more human-readable format
Index Term Position SourceRecordPosition Timestamp Key RecordType ValueType Intent ProcessInstanceKey BPMNElementType
836304299 304 6888891251 6888891165 1692869669764 2251802375814764 EVENT JOB_BATCH ACTIVATED
836304300 304 6888891252 -1 1692869671138 -1 COMMAND PROCESS_INSTANCE_CREATION CREATE -1
836304301 304 6888891253 6888891180 1692869671126 2251802375814766 EVENT VARIABLE CREATED 2251802375814765
836304301 304 6888891254 6888891180 1692869671126 2251802375814767 EVENT VARIABLE CREATED 2251802375814765
836304301 304 6888891255 6888891180 1692869671126 2251802375814768 EVENT VARIABLE CREATED 2251802375814765
836304301 304 6888891256 6888891180 1692869671126 2251802375814769 EVENT VARIABLE CREATED 2251802375814765
836304301 304 6888891257 6888891180 1692869671126 2251802375814765 COMMAND PROCESS_INSTANCE ACTIVATE_ELEMENT 2251802375814765 PROCESS
836304301 304 6888891258 6888891180 1692869671126 2251802375814770 EVENT PROCESS_INSTANCE_CREATION CREATED 2251802375814765
836304301 304 6888891259 6888891180 1692869671126 2251802375814765 EVENT PROCESS_INSTANCE ELEMENT_ACTIVATING 2251802375814765 PROCESS
836304301 304 6888891260 6888891180 1692869671126 2251802375814765 EVENT PROCESS_INSTANCE ELEMENT_ACTIVATED 2251802375814765 PROCESS
836304301 304 6888891261 6888891180 1692869671126 -1 COMMAND PROCESS_INSTANCE ACTIVATE_ELEMENT 2251802375814765 START_EVENT
Deps
- build(deps-dev): bump org.testcontainers:junit-jupiter from 1.18.3 to 1.19.0 by @dependabot in #289
- build(deps): bump org.jetbrains.kotlinx:kotlinx-serialization-json-jvm from 1.5.1 to 1.6.0 by @dependabot in #290
- build(deps): bump kotlin.version from 1.9.0 to 1.9.10 by @dependabot in #291
- build(deps): bump version.picocli from 4.7.4 to 4.7.5 by @dependabot in #292
- build(deps-dev): bump org.slf4j:slf4j-simple from 2.0.7 to 2.0.9 by @dependabot in #294
- build(deps): bump version.slf4j from 2.0.7 to 2.0.9 by @dependabot in #293
- build(deps): bump actions/checkout from 3 to 4 by @dependabot in #295
- build(deps): bump docker/login-action from 2.2.0 to 3.0.0 by @dependabot in #297
- build(deps): bump zeebe.version from 8.2.11 to 8.2.13 by @dependabot in #296
Full Changelog: 1.8.0...1.9.0