A new release for Zeebe and Operate 0.26 is available now. You can grab the releases via the usual channels:
As usual, if you’d like to get started immediately, you can find information about it directly on the Zeebe & Operate documentation website.
It is possible to perform a rolling upgrade to Zeebe 0.26 from 0.25. For Camunda Cloud users, 0.26 is the new production version since this week, your existing clusters were already upgraded automatically.
Here are some highlights:
- Zeebe
- Topology Response with Partition Health
- Use Memory Mapped Storage Level by Default
- Operate
- Improved User Status Feedback
- Infinite Scroll in Instances View
- Configurable Context Path
- Zeebe Modeler
- Improved UI for Input/Output Mappings
- Support Propagate All Child Variables Flag
- Documentation
- Unified Camunda Cloud Documentation
In the rest of this post, we’ll go into more details about the changes that the latest stable release brings.
Zeebe 0.26
Topology Response with Partition Health
Clients can request the topology of the cluster from a Zeebe broker. With 0.26, the response also contains the health status of the partitions. Developers can use this information to check the status of the cluster quickly without looking at the metrics.
Using zbctl
:
./bin/zbctl --insecure status
Cluster size: 1
Partitions count: 1
Replication factor: 1
Gateway version: 0.26.0
Brokers:
Broker 0 - 0.0.0.0:26501
Version: 0.26.0
Partition 1 : Leader, Healthy
Using the Java client:
final Topology topology = zeebeClient.newTopologyRequest().send().join();
for (BrokerInfo broker : topology.getBrokers()) {
for (PartitionInfo partition : broker.getPartitions()) {
final PartitionBrokerHealth health = partition.getHealth();
// ...
}
}
We’d like to thank @aivinog1 for his awesome contributions to this topic.
Use Memory Mapped Storage Level by Default
In previous releases, Zeebe used file channels to read its log segments. With 0.25, we exposed an experimental optional to use memory mapped log segments. We tested the mode extensively and set it now as the new default.
With the new setting, we see a considerable improvement of the workflow execution latency (3-6.5 times lower). So, the execution of one workflow instance from start to end is faster than before. Note that the latency drops when the throughput reaches the limits of the broker.
The following diagrams show the latency metrics with file channel and with memory mapped storage.
More details are available here.
The previous configuration setting zeebe.broker.data.useMmap
has been deprecated and will be removed in a future version.
Omit the Job Activated Events
When a client activates a job, the broker writes a job batch command to the log stream. On processing the command, it writes a job batch event that contains the activated jobs and sends the response back to the client. In addition to the job batch event, it writes one job event with the intent ACTIVATED
for each activated job.
With 0.26, we omit the job events because the job batch event contains the jobs already. As a result, the broker stores and replicates less data.
Configure the Broker Data Directory
We reconsidered the configuration of the broker’s data directory. Previously, it was configured by setting zeebe.broker.data.directories
. This was confusing because the broker supported only one directory.
With 0.26, we renamed the configuration setting to zeebe.broker.data.directory
. The previous setting has been deprecated and will be removed in a future version. If the new configuration isn’t set, it falls back to the previous one.
Operate 0.26
Improved User Status Feedback
In visual tools like Camunda Operate it is important for the users to receive proper status feedback on their actions. With the latest release we improved several aspects of these feedback to improve the overall user experience.
Data loading status feedback
Operate contains many view components which show data collections, therefore it is important for the user to visually understand if the collection is empty, or if there was an error in loading the data. Operate 0.26 makes this clearly visible with the updated feedback.
Form input validation
In Operate’s instances list view the filters panel is essential to find the workflow instances of interest. In order to assist users on fixing invalid filter inputs, the latest release of Operate now contains tool tips for invalid form fields which contain hints for the expected inputs.
Notifications
Investigating incidents within Operate often requires users to execute actions (also known as Operations) such as editing variables, resolving incidents or cancelling instances. Since these are important interaction between the user and applications which require appropriate feedback for a pleasant user experience; Operate 0.26 has a new notification component which provides immediate feedback on user actions.
Infinite Scroll in Instances View
When using Zeebe it is common to have hundreds or even thousands of workflow instances running at the same time. In order to improve Operate’s instance list view user experience while also handling a vast amount of data, we have replaced the old pagination approach with a more flexible endless scroll.
Configurable Context Path
With Operate 0.26 we added the option to configure the application to be available under a different context path. This is helpful if you don’t want Operate be served under the root context path /
but instead for example use /operate
. You can find the corresponding configuration option in our documentation.
Zeebe Modeler 0.11
Improved UI for Input/Output
The latest Zeebe Modeler release contains a complete overhaul of the Input/Output Mapping UI, it allows the user to better define mappings and gives a clear overview of the currently defined mappings.
Support Propagate All Child Variables Flag
With Zeebe 0.25 we introduced a new configuration flag propagateAllChildVariables
to call activities. It allows the user to specify that all variables are propagated (i.e. copied) from the called child instance to the calling parent instance. With the latest Zeebe Modeler release this configuration can be controlled in the Input/Output mapping of a Call Activity.
Documentation
Unified Camunda Cloud Documentation
From today we will offer a unified Camunda Cloud documentation, which combines the documentation of Zeebe, Operate and Camunda Cloud into a single documentation hub. Please check it out under https://docs.camunda.io and let us know what you think. The content of the old Zeebe documentation can be found under the section Product Manuals/Zeebe and likewise for Operate under Product Manuals/Operate. This new platform also allows us to provided the documentation versioned, this way users can also check the docs for older version in case needed.
Get In Touch
There are a number of ways to get in touch with the Zeebe community to ask questions and give us feedback.
- Join the Zeebe user forum
- Join the Zeebe Slack community
- Reach out to dev advocate Josh Wulf on Twitter
- Reach out to dev advocate Mauricio Salatino on Twitter
We hope to hear from you!