Skip to content

Releases: ChrisKujawa/zdb

1.2.0

22 Feb 09:31
8077950
Compare
Choose a tag to compare

What's Changed

Notes: Compatible with Zeebe v1.3.x

Feats

  • add key to incident details by @korthout in #114
  • feat(cli): detect current path and make 'zdb' able to be run from any folder via PATH env var by @nitram509 in #113

Deps

  • build(deps): bump kotlinx-serialization-json-jvm from 1.3.0 to 1.3.1 by @dependabot in #75
  • build(deps): bump kotlin.version from 1.5.31 to 1.6.0 by @dependabot in #76
  • build(deps): bump actions/cache from 2.1.6 to 2.1.7 by @dependabot in #77
  • build(deps-dev): bump junit-jupiter-api from 5.8.1 to 5.8.2 by @dependabot in #80
  • build(deps): bump fmt-maven-plugin from 2.12 to 2.13 by @dependabot in #79
  • build(deps-dev): bump junit-jupiter-engine from 5.8.1 to 5.8.2 by @dependabot in #78
  • build(deps): bump actions/setup-java from 2.3.1 to 2.4.0 by @dependabot in #81
  • build(deps-dev): bump zeebe-test-container from 3.1.0 to 3.2.0 by @dependabot in #83
  • build(deps): bump zeebe.version from 1.2.4 to 1.2.6 by @dependabot in #84
  • build(deps): bump kotlin.version from 1.6.0 to 1.6.10 by @dependabot in #85
  • build(deps): bump zeebe.version from 1.2.4 to 1.2.6 by @dependabot in #86
  • build(deps): bump zeebe.version from 1.2.6 to 1.2.7 by @dependabot in #87
  • build(deps): bump zeebe.version from 1.2.6 to 1.2.7 by @dependabot in #88
  • build(deps): bump actions/setup-java from 2.4.0 to 2.5.0 by @dependabot in #89
  • build(deps): bump kotlinx-serialization-json-jvm from 1.3.1 to 1.3.2 by @dependabot in #90
  • build(deps-dev): bump assertj-core from 3.21.0 to 3.22.0 by @dependabot in #92
  • build(deps): bump zeebe.version from 1.2.7 to 1.2.9 by @dependabot in #91
  • build(deps): bump zeebe.version from 1.2.7 to 1.2.9 by @dependabot in #93
  • build(deps): bump zeebe.version from 1.2.9 to 1.3.0 by @dependabot in #94
  • build(deps): bump maven-compiler-plugin from 3.8.1 to 3.9.0 by @dependabot in #96
  • build(deps): bump version.slf4j from 1.7.32 to 1.7.33 by @dependabot in #98
  • build(deps-dev): bump slf4j-simple from 1.7.32 to 1.7.33 by @dependabot in #97
  • build(deps): bump zeebe.version from 1.2.9 to 1.3.1 by @dependabot in #99
  • build(deps-dev): bump zeebe-test-container from 3.2.0 to 3.3.0 by @dependabot in #101
  • build(deps-dev): bump slf4j-simple from 1.7.33 to 1.7.35 by @dependabot in #104
  • build(deps-dev): bump slf4j-simple from 1.7.35 to 1.7.36 by @dependabot in #108
  • build(deps): bump version.slf4j from 1.7.33 to 1.7.36 by @dependabot in #107
  • build(deps): bump maven-compiler-plugin from 3.9.0 to 3.10.0 by @dependabot in #111
  • build(deps): bump picocli from 4.6.2 to 4.6.3 by @dependabot in #109
  • build(deps-dev): bump junit-jupiter from 1.16.2 to 1.16.3 by @dependabot in #100
  • build(deps): bump zeebe.version from 1.3.1 to 1.3.4 by @dependabot in #110
  • build(deps): bump zeebe.version from 1.3.0 to 1.3.4 by @dependabot in #115

New Contributors

Full Changelog: 1.1.1...1.2.0

1.1.1

11 Nov 12:09
a073aa5
Compare
Choose a tag to compare

What's Changed

  • build(deps): bump maven-surefire-plugin from 2.22.1 to 2.22.2 by @dependabot in #73
  • build(deps-dev): bump zeebe-test-container from 3.0.0 to 3.1.0 by @dependabot in #72
  • deps: bring deps back by @Zelldon in #74

Full Changelog: 1.1.0...1.1.1

1.1.0

10 Nov 10:18
5108548
Compare
Choose a tag to compare

What's Changed

Fixes

  • fix: donot reuse the objects for reading multiple records in batch by @deepthidevaki in #61
  • fix: handle empty log by @Zelldon in #69
  • fix: encode unit in property name by @Zelldon in #70
  • Fixed readme by change workflows to processes by @remcowesterhoud in #44

Features

  • feat: add element instance state by @Zelldon in #68
  • feat: reduce jar size by @Zelldon in #71

Deps

  • build(deps): bump actions/setup-java from 1 to 2.3.0 by @dependabot in #36
  • build(deps): bump actions/cache from 1 to 2.1.6 by @dependabot in #35
  • build(deps-dev): bump junit-jupiter-api from 5.7.1 to 5.7.2 by @dependabot in #41
  • build(deps): bump license-maven-plugin from 3.0 to 4.1 by @dependabot in #40
  • build(deps): bump maven-checkstyle-plugin from 3.1.1 to 3.1.2 by @dependabot in #38
  • build(deps): bump fmt-maven-plugin from 2.9 to 2.12 by @dependabot in #37
  • build(deps-dev): bump junit-jupiter from 1.15.3 to 1.16.0 by @dependabot in #39
  • build(deps): bump zeebe.version from 1.1.2 to 1.1.3 by @dependabot in #42
  • build(deps-dev): bump junit-jupiter-api from 5.7.2 to 5.8.0 by @dependabot in #46
  • build(deps-dev): bump junit-jupiter-engine from 5.7.2 to 5.8.0 by @dependabot in #45
  • build(deps): bump zeebe.version from 1.1.2 to 1.1.3 by @dependabot in #43
  • build(deps-dev): bump assertj-core from 3.20.2 to 3.21.0 by @dependabot in #48
  • build(deps): bump kotlin.version from 1.5.30 to 1.5.31 by @dependabot in #47
  • build(deps-dev): bump junit-jupiter-api from 5.8.0 to 5.8.1 by @dependabot in #50
  • build(deps-dev): bump junit-jupiter-engine from 5.8.0 to 5.8.1 by @dependabot in #49
  • build(deps): bump actions/setup-java from 2.3.0 to 2.3.1 by @dependabot in #52
  • build(deps-dev): bump jackson-databind from 2.12.5 to 2.13.0 by @dependabot in #53
  • build(deps): bump kotlinx-serialization-json-jvm from 1.2.2 to 1.3.0 by @dependabot in #51
  • build(deps-dev): bump junit-jupiter from 1.16.0 to 1.16.1 by @dependabot in #56
  • build(deps): bump zeebe.version from 1.1.3 to 1.2.1 by @dependabot in #55
  • build(deps-dev): bump awaitility from 4.1.0 to 4.1.1 by @dependabot in #59
  • build(deps-dev): bump junit-jupiter from 1.16.1 to 1.16.2 by @dependabot in #58
  • build(deps): bump zeebe.version from 1.2.1 to 1.2.2 by @dependabot in #60
  • build(deps): bump zeebe.version from 1.2.1 to 1.2.2 by @dependabot in #62
  • build(deps): bump zeebe.version from 1.2.2 to 1.2.3 by @dependabot in #63
  • build(deps): bump zeebe.version from 1.2.2 to 1.2.3 by @dependabot in #64
  • build(deps): bump picocli from 4.6.1 to 4.6.2 by @dependabot in #65
  • build(deps): bump zeebe.version from 1.2.3 to 1.2.4 by @dependabot in #66
  • build(deps): bump zeebe.version from 1.2.3 to 1.2.4 by @dependabot in #67

New Contributors

Full Changelog: 1.0.1...1.1.0

1.0.1

31 Aug 13:07
Compare
Choose a tag to compare

Changelog

Disable annoying log messages

1.0.0

31 Aug 09:28
Compare
Choose a tag to compare

Changelog

ZDB was completely rewritten in Kotlin. All outputs are now valid JSON. The new kotlin backend is completely tested with integration tests (testcontainers) to verify the functionality.

Tested with Zeebe v1.0 (IT tests) and manually with 1.1.

In order to use it download the *.jar file. For easier access you can use the zdb script.

Example usage:

./zdb -V
zdb v1.0.0

For more details look at the examples here

1.0.0-alpha1

16 Jul 12:57
Compare
Choose a tag to compare
1.0.0-alpha1 Pre-release
Pre-release

Description

Be aware this is an alpha release; There might be bugs or some features not fully working yet.

ZDB was completely rewritten in Kotlin. All outputs are now valid JSON. The new kotlin backend is completely tested with integration tests (testcontainers) to verify the functionallity.

Tested with 1.0 (IT tests) and manually with 1.1.

What is missing:

  • List blacklisted instances
  • Search for entries in the log
  • reduce the size of the fat jar

0.5.1

04 Apr 18:18
Compare
Choose a tag to compare

Changelog

Fix Zdb Version

The version is now dynamically resolved from the manifest file.

$ zdb --version
zdb v0.5.1

0.5.0

02 Apr 04:33
Compare
Choose a tag to compare

Changelog

More Instance Information

Thanks @deepthidevaki for your contribution! (#6)

Print Instances for a Workflow

We are now able to print all instances for a workflow.

$ ./zdb workflow -p ../database/data/raft-partition/partitions/1/runtime/ list
Workflow[key: 2251799813685249, BPMN-process-id: "Process_orderprocess_328f2abc", version: 1]
$ ./zdb workflow -p ../database/data/raft-partition/partitions/1/runtime/ instances 2251799813685249
[2251799813685257, 2251799813685263]

Print Details to a specific instance

Based on the element instance key we can also print more details to a element instance:

$ ./zdb workflow -p ../database/data/raft-partition/partitions/1/runtime/ instances 2251799813685249
[2251799813685257, 2251799813685263]

$ ./zdb instance -p ../database/data/raft-partition/partitions/1/runtime/ entity 2251799813685257
Workflow instance:
BPMN process id: Process_orderprocess_328f2abc
Version: 1
WorkflowKey: 2251799813685249
WorkflowInstanceKey: 2251799813685257
ElementId: Process_orderprocess_328f2abc
BpmnElementType: PROCESS
ParentWorkflowInstanceKey: -1
 \
  |-Key: 2251799813685261
  |-ElementId: Activity_0ciygqb
  |-BpmnElementType: SERVICE_TASK

$ ./zdb instance -p ../database/data/raft-partition/partitions/1/runtime/ entity 2251799813685261
Workflow instance:
BPMN process id: Process_orderprocess_328f2abc
Version: 1
WorkflowKey: 2251799813685249
WorkflowInstanceKey: 2251799813685257
ElementId: Activity_0ciygqb
BpmnElementType: SERVICE_TASK
ParentWorkflowInstanceKey: -1
 |-Key: 2251799813685261
 |-ElementId: Activity_0ciygqb
 |-BpmnElementType: SERVICE_TASK

Compact Log View

Thanks to @pihme and @korthout for your contribution! (#8)

We can now print the complete log (the ZeebeRecords) in a compact clear view.

$ ./zdb log print --format compact -p ../database/data/raft-partition/partitions/1/
Compact log representation:
--------
	['C'ommand/'E'event/'R'ejection] [valueType] [intent] - #[position]->#[source record position]  P[partitionId]K[key] - [summary of value]
	P9K999 - key; #999 - record position; "ID" element/process id; @"elementid"/[P9K999] - element with ID and key
	Keys are decomposed into partition id and per partition key (e.g. 2251799813685253 -> P1K005). If single partition, the partition is omitted.
	Long IDs are shortened (e.g. 'startEvent_5d56488e-0570-416c-ba2d-36d2a3acea78' -> 'star..acea78'
--------
C DEPLOYMENT             CREATE         - #01-> -1  -1 - ship.bpmn
R DEPLOYMENT             CREATE         - #02->#01  -1 - ship.bpmn !INVALID_ARGUMENT (Expected to deploy new resources, but encountered the following errors:
'ship.bpmn': - Element: definitions
    - ERROR: Must contain at least one executable process
- Element: Task_1255o7q
    - ER..)
C DEPLOYMENT             CREATE         - #03-> -1  -1 - cryptocurrency exchange.bpmn
R DEPLOYMENT             CREATE         - #04->#03  -1 - cryptocurrency exchange.bpmn !INVALID_ARGUMENT (Expected to deploy new resources, but encountered the following errors:
'cryptocurrency exchange.bpmn': class org.camunda.bpm.model.xml.impl.instance.ModelElementInstanceImpl cannot be cast to class..)
C DEPLOYMENT             CREATE         - #05-> -1  -1 - order-process.bpmn
R DEPLOYMENT             CREATE         - #06->#05  -1 - order-process.bpmn !INVALID_ARGUMENT (Expected to deploy new resources, but encountered the following errors:
'order-process.bpmn': - Element: Message_15olcus > extensionElements > subscription
    - ERROR: Expected expression but found..)
C DEPLOYMENT             CREATE         - #07-> -1  -1 - order-process.bpmn
E DEPLOYMENT             CREATED        - #08->#07 K02 - order-process.bpmn
C DEPLOYMENT             DISTRIBUTE     - #09->#08 K02 - order-process.bpmn
E DEPLOYMENT             DISTR          - #10->#09 K02 - order-process.bpmn
C WORKFLOW_INST_CREATION CREATE         - #11-> -1  -1 - new <process "Process..28f2abc"> (no vars)
E WORKFLOW_INST          ACTIVATING     - #12->#11 K03 - PROCESS "Process..28f2abc" in <process "Process..28f2abc"[K03]>
E WORKFLOW_INST_CREATION CREATED        - #13->#11 K04 - new <process "Process..28f2abc"> (no vars)
E WORKFLOW_INST          ACTIVATED      - #14->#12 K03 - PROCESS "Process..28f2abc" in <process "Process..28f2abc"[K03]>
E WORKFLOW_INST          ACTIVATING     - #15->#14 K05 - START_EVENT "Event_0ue554q" in <process "Process..28f2abc"[K03]>
E WORKFLOW_INST          ACTIVATED      - #16->#15 K05 - START_EVENT "Event_0ue554q" in <process "Process..28f2abc"[K03]>
E WORKFLOW_INST          COMPLETING     - #17->#16 K05 - START_EVENT "Event_0ue554q" in <process "Process..28f2abc"[K03]>
E WORKFLOW_INST          COMPLETED      - #18->#17 K05 - START_EVENT "Event_0ue554q" in <process "Process..28f2abc"[K03]>
[...]

0.4.0

16 Feb 08:10
Compare
Choose a tag to compare

Changelog

Illegal Access Warning is prevented from being logged:

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.esotericsoftware.kryo.util.UnsafeUtil (file:/tmp/zdb-0.3.0.jar) to constructor java.nio.DirectByteBuffer(long,int,java.lang.Object)
WARNING: Please consider reporting this to the maintainers of com.esotericsoftware.kryo.util.UnsafeUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

Is no longer logged on running an command.

Log status was improved:

Initial Entries contain now Indexes:

Before:

InitialEntries: [InitializeEntry{term=2971, timestamp=2021-02-10 03:15:59,934}, InitializeEntry{term=2973, timestamp=2021-02-10 03:18:56,289}, InitializeEntry{term=2975,

Now:

InitialEntries: [Indexed{index=123186138, entry=InitializeEntry{term=2971, timestamp=2021-02-10 03:15:59,934}}, Indexed{index=123186139, entry=InitializeEntry{term=2973, timestamp=2021-02-10 03:18:56,289}}

Meta data is printed

Meta: 
	Last voted for: 0
	Persisted term: 3028
Configuration: Configuration{index=0, time=2020-11-13 11:41:30,995, members=[DefaultRaftMember{id=2, type=ACTIVE, updated=2020-11-13T10:41:30.995318Z}, DefaultRaftMember{id=1, type=ACTIVE, updated=2020-11-13T10:41:30.995318Z}, DefaultRaftMember{id=0, type=ACTIVE, updated=2020-11-13T10:41:30.995318Z}]}

Gives useful information about the cluster and raft.

Fix consistency check

The log was reported as consistent even if detected an invalid position (which was logged).

Install

Download the jar and bash script. Either you move them both to your /usr/bin or you move just the zdb and adjust it such that it can find the related zdb-*.jar. Make sure that you mark the script executable, via chmod +x /usr/bin/zdb.

It is possible to generate auto completion, see here https://github.com/Zelldon/zdb#autocompletion

Requires

In order to run this cli tool, you need to have Java 11 or higher installed.

0.3.0

13 Jan 20:13
Compare
Choose a tag to compare

Description

Newest version tested with 0.26.0 (only state tested).

Added more content to the status command and reformat the output.

New output:

Processing: 
	Last processed position: 141169121
Exporting: 
	elasticsearch: position 141169060
	MetricsExporter: position 141169122
	Lowest exported position: 141169060
Incident related:: 
	Blacklisted instances: 0
	Incidents: 33
Messages: : 3656965
	Current Time: : 1610561195140
	Message next deadline: : 1610556566223
	Message last deadline: : 1615738151675
WorkflowInstances: : 17
	ElementInstances: : 34
Variables: 158
	min size: 1
	max size: 963
	avg size: 27.158228

Install

Download the jar and bash script. Either you move them both to your /usr/bin or you move just the zdb and adjust it such that it can find the related zdb-*.jar. Make sure that you mark the script executable, via chmod +x /usr/bin/zdb.

It is possible to generate auto completion, see here https://github.com/Zelldon/zdb#autocompletion

Requires

In order to run this cli tool, you need to have Java 11 or higher installed.