Debezium Blog
Did you know December 12th is National Ding-a-Ling Day? It’s the day to call old friends you haven’t heard from in a while. So we thought we’d get in touch (not that is has been that long) with our friends, i.e. you, and share the news about the release of Debezium 1.0.0.CR1!
It’s the first, and ideally only, candidate release; so Debezium 1.0 should be out very soon. Quite a few nice features found their way into CR1:
-
A SerDe (serializer/deserializer) for working with JSON-formatted change data events in Kafka Streams (DBZ-1533)
-
Advanced type support for Postgres: the long awaited enum types (DBZ-920), domain types (DBZ-1413) and arrays of UUIDs (DBZ-1637)
-
Graceful handling of MongoDB 4.0 transaction events (DBZ-1215)
-
Full support for Java 11, including the upgrade to Java 11 in the Debezium container images for Apache Kafka and Connect (DBZ-969, DBZ-1402)
While fall weather is in full swing, the Debezium community is not letting the unusually low, frigid temperatures get the best of us. It is my pleasure to announce the release of Debezium 1.0.0.Beta3!
This new Debezium release includes several notable new features, enhancements, and fixes:
-
Built against Kafka Connect 2.3.1 (DBZ-1612)
-
Renamed
drop_on_stop
configuration parameter todrop.on.stop
(DBZ-1595) -
Standardized source information for Cassandra connector (DBZ-1408)
-
Propagate MongoDB replicator exceptions so they are visible from Kafka Connect’s status endpoint (DBZ-1583)
-
Envelope methods should accept
Instant
rather thanlong
values for timestamps (DBZ-1607) -
Erroneously reporting no tables captured (DBZ-1519)
-
Avoid Oracle connector attempting to analyze tables (DBZ-1569)
-
Toasted columns should contain
null
in before rather than__debezium_unavailable_value
(DBZ-1570) -
Support PostgreSQL 11+
TRUNCATE
operations usingpgoutput
decoder (DBZ-1576) -
PostgreSQL connector times out in schema discovery for databases with many tables (DBZ-1579)
-
Value of
ts_ms
is not correct duing snapshot processing (DBZ-1588) -
Heartbeats are not generated for non-whitelisted tables (DBZ-1592)
It is my pleasure to announce the release of Debezium 1.0.0.Beta2!
This new Debezium release includes several notable new features, enhancements, and fixes:
-
Support PostgreSQL
LTREE
columns with a logical data type (DBZ-1336) -
Support for PostgreSQL 12 (DBZ-1542)
-
Validate configured PostgreSQL replication slot not contains no invalid characters (DBZ-1525)
-
Add MySQL DDL parser support for index creation
VISIBLE
andINVISIBLE
keywords (DBZ-1534) -
Add MySQL DDL parser support for granting
SESSION_VARIABLES_ADMIN
(DBZ-1535) -
Fix MongoDB
collection
source struct field when collection name contains a dot (DBZ-1563) -
Close idle transactions after performing a PostgreSQL snapshot (DBZ-1564)
As a follow up to the recent Building Audit Logs with Change Data Capture and Stream Processing blog post, we’d like to extend the example with admin features to make it possible to capture and fix any missing transactional data.
In the above mentioned blog post, there is a log enricher service used to combine data inserted or updated in the Vegetable database table with transaction context data such as
-
Transaction id
-
User name who performed the work
-
Use case that was behind the actual change e.g. "CREATE VEGETABLE"
This all works well as long as all the changes are done via the vegetable service. But is this always the case?
What about maintenance activities or migration scripts executed directly on the database level? There are still a lot of such activities going on, either on purpose or because that is our old habits we are trying to change…
Welcome to the Debezium community newsletter in which we share all things CDC related including blog posts, group discussions, as well as StackOverflow questions that are relevant to our user community.