I’m pleased to announce the release of Debezium1.4.0.Beta1!

This release includes support for distributed tracing, lowercase table and schema naming for Db2, specifying MySQL snapshot records as create or read operations, and enhancements to Vitess for nullable and primary key columns.

Overall, the community fixed39 issuesfor this release. Let’s take a closer look at some of the highlights.

Distributed Tracing

In a nutshell, distributed tracing is a pattern used to profile and monitor applications to allow quick identification of failures or performance concerns. Tracing works by having each component in a distributed process contribute a block of metadata called a "span". Each span contains unique details about that component’s unit of work. Typically a full distributed trace consists of a sequence of multiple spans.

Distributed tracing in Debezium is enabled by using theActivateTracingSpanSMT:

"transforms": "tracing" "transforms.tracing.type": "io.debezium.transforms.tracing.ActivateTracingSpan"

The above configuration will lead to the emitted message header containing the tracing key/value pairs.

A blog post discussing the distributed tracing support in depth, including end-to-end tracing for microservices data exchange via the outbox pattern, will follow up shortly.

Bugfixes

Also a number of bugs were fixed, e.g.:

  • DDL parser: Allow stored procedure variables in LIMIT clauseDBZ-2692

  • Wrong mysql command in openshift dpeloyment docsDBZ-2746

  • long running transaction will be abandoned and ignoredDBZ-2759

  • MS SQL Decimal with default value not matching the scale of the column definition cause exceptiondbz - 2767

  • Cassandra Connector doesn’t shut down completelyDBZ-2768

  • MySQL Parser fails for BINARY collation shortcutDBZ-2771

  • PostgresConnectorIT.shouldResumeStreamingFromSlotPositionForCustomSnapshot is failing for wal2json on CIDBZ-2772

  • Connector configuration property "database.out.server.name" is not relevant for Logminer implementation but cannot be omittedDBZ-2801

  • CHARACTER VARYING mysql identifier for varchar is not supported in debeziumDBZ-2821

  • try-with-resources should not be used when OkHttp Response object is returnedDBZ-2827

  • EmbeddedEngine does not shutdown when commitOffsets is interruptedDBZ-2830

  • Rename user command parsing failsDBZ-2743

A big thank you to all the contributors from the community who worked on this release:Jeremy Ford,Matt Beary,Vadzim Ramanenka,John Martin,Kewei Shang,Hoa Le,Ramesh Reddy, andDenis Andrejew.

Chris Cranford

Chris is a software engineer at Red Hat. He previously was a member of the Hibernate ORM team and now works on Debezium. He lives in North Carolina just a few hours from Red Hat towers.


About Debezium

Debezium is an open source distributed platform that turns your existing databases into event streams, so applications can see and respond almost instantly to each committed row-level change in the databases. Debezium is built on top ofKafkaand providesKafka Connectcompatible connectors that monitor specific database management systems. Debezium records the history of data changes in Kafka logs, so your application can be stopped and restarted at any time and can easily consume all of the events it missed while it was not running, ensuring that all events are processed correctly and completely. Debezium isopen sourceunder theApache License, Version 2.0.

Get involved

We hope you find Debezium interesting and useful, and want to give it a try. Follow us on Twitter@debezium,chat with us on Zulip, or join ourmailing listto talk with the community. All of the code is open sourceon GitHub, so build the code locally and help us improve ours existing connectors and add even more connectors. If you find problems or have ideas how we can improve Debezium, please let us know orlog an issue.

Baidu
map