Commit Graph

552 Commits

Author SHA1 Message Date
Roman Kudryashov
0c80f1f38d DBZ-7284 Provide config option to customize CloudEvents.data schema name 2024-01-11 13:20:35 +01:00
Jakub Cechacek
aa0c53ec2a DBZ-7260 Offset consolidation test coverage 2024-01-11 09:58:24 +01:00
mfvitale
47cbdee526 DBZ-7311 Permits to execute a blocking snapshot even if snapshot.mode=never 2024-01-08 12:52:03 +01:00
Jiri Pechanec
7a80c9dae8 DBZ-7098 Converting engine should honor unsupported tombstone flag 2024-01-05 08:25:23 +01:00
Debezium Builder
3853d20f44 [maven-release-plugin] prepare for next development iteration 2023-12-21 06:52:01 +00:00
Debezium Builder
5d35e9caaa [maven-release-plugin] prepare release v2.5.0.Final 2023-12-21 06:52:01 +00:00
Roman Kudryashov
516aa87fad DBZ-7235 Add option to customize CloudEvents schema name 2023-12-20 06:53:37 +01:00
Debezium Builder
2c1def7241 [maven-release-plugin] prepare for next development iteration 2023-12-14 09:43:13 +00:00
Debezium Builder
ef8260f802 [maven-release-plugin] prepare release v2.5.0.CR1 2023-12-14 09:43:12 +00:00
Chris Cranford
2b02b3982e DBZ-4321 Rework configuration options 2023-12-13 11:27:40 -05:00
Chris Cranford
59027ed5ed DBZ-4321 New PostProcessor contract and Column Reselection 2023-12-13 11:27:40 -05:00
mfvitale
5ed16284f4 DBZ-6834 Provide INSERT/DELETE semantics for MongoDb incremental snapshot watermarking 2023-12-06 14:10:26 +01:00
mfvitale
4fedfbba03 DBZ-6834 Provide INSERT/DELETE semantics for incremental snapshot watermarking 2023-12-06 14:10:26 +01:00
Debezium Builder
0fd1c0dc9a [maven-release-plugin] prepare for next development iteration 2023-12-04 13:55:35 +00:00
Debezium Builder
3e2d75f0da [maven-release-plugin] prepare release v2.5.0.Beta1 2023-12-04 13:55:35 +00:00
“vsantonastaso”
8c1c369449 DBZ-6878 add table specific notification in initial snapshot 2023-11-29 08:32:21 +01:00
Sebastiaan Knijnenburg
036eda0c64 DBZ-6723 Expose partition number in ChangeEvent interface
Based on feedback in https://github.com/debezium/debezium-server/pull/33 this
commit adds the partition() method to the ChangeEvent interface and implements
it in the EmbeddedEngineChangeEvent. This allows reading the assigned partition
for an event in downstream processors, for example in custom Sinks that need
the assigned partition for routing purposes.

Link:  https://issues.redhat.com/browse/DBZ-6723
2023-11-28 09:38:18 +01:00
Roman Kudryashov
1992c1e7e4 DBZ-7159 Fail fast during deserialization if a value is not a CloudEvent 2023-11-23 14:19:37 +01:00
Vojtech Juranek
60939c8965 DBZ-7099 Provide default value for PeriodicCommitOffsetPolicy
In 7b4cf1901 deprecated `io.debezium.embedded.spi.OffsetCommitPolicy`,
which provided also constructor for `Configuration`, was removed.
This constructor was actually used for creating `OffsetCommitPolicy`.
`Configuration` provides default values for options which are not
explicitly set, while `Properties` based constructor cannot do that
and therefore with this switch the default value for
`offset.flush.interval.ms` is now missing.

As debezium-api package has no knowledge about `Configuration`
interface, which is part of debezium-core, and thus about the default
values, specify default value direcly in the `PeriodicCommitOffsetPolicy`
class.
2023-11-14 06:58:11 +01:00
Debezium Builder
1521445908 [maven-release-plugin] prepare for next development iteration 2023-11-10 10:26:05 +00:00
Debezium Builder
6c6f6e9138 [maven-release-plugin] prepare release v2.5.0.Alpha2 2023-11-10 10:26:05 +00:00
Vojtech Juranek
cf7f0f3801 DBZ-7110 Use better name for DebeziumEngine.Builder implementation 2023-11-07 10:13:50 +01:00
Vojtech Juranek
c34cf6920c DBZ-7110 Remove deprecated EmbeddedEngine interface 2023-11-07 10:13:50 +01:00
Vojtech Juranek
11d2ff0b9b DBZ-7007 Use better name for auxiliary variable detecing if engine is running 2023-11-06 10:50:21 +01:00
Vojtech Juranek
89054bf8a8 DBZ-7007 Introduce TestingDebeziumEngine and switch to it in AbstractConnectorTest
Postgres `RecordsStreamProducerIT` reliaes on
EmebeddedEngine.runWithTask(). As this method effectively expose
engine's internal task and tests do the asserts against the state
of the task, it's hard to replace it. If we want to keep the tests,
the most simple approach seems to expose engine task in similar way
how EmbeddedEngine does that.

Add interface for testing Debezium engine, which would define minimal
set of methods which needs to be exposed by the implementing classes to
be able to run the testsuite against the Debezium engine. The number of
such methods should be as low as possible. Implementing classes would
typically act as proxies to actual `DebeziumEngine` implementations.

Add `TestingDebeziumEngine` implementation for `EmbeddedEngine` and
switch to `TestingDebeziumEngine` in `AbstractConnectorTest`.
2023-11-06 10:50:21 +01:00
Vojtech Juranek
fdab2cd61b DBZ-7007 Remove engine.isRunning() from testsuite 2023-11-06 10:50:21 +01:00
Vojtech Juranek
89277591dd DBZ-7007 Replace engine.await() with Awaitility condition
In the second case replace infinite loop by one minute wait. If this is
not sufficient for any case, we can increase the timeout in the future.
2023-11-06 10:50:21 +01:00
Vojtech Juranek
9b1d5172ff DBZ-6213 Remove unneeded code from the testsuite
After fixing start method to really start the connector, this wait loop
is not needed any more.
2023-11-06 10:50:21 +01:00
Vojtech Juranek
1a58845507 DBZ-7007 Use close() instead of EmbeddedEngine#stop() method 2023-11-06 10:50:21 +01:00
Vojtech Juranek
953f1c77aa DBZ-7007 Switch to DebeziuEngine in ConnectorOutputTest 2023-11-06 10:50:21 +01:00
Vojtech Juranek
d0c2658c43 DBZ-7007 Switch to DebeziuEngine in EmbeddedEngineTest 2023-11-06 10:50:21 +01:00
Vojtech Juranek
3295844cc3 DBZ-7007 Use property based configuration in the emebdded tests 2023-11-06 10:50:21 +01:00
Vojtech Juranek
9d26dd4cf4 DBZ-7007 Move embedded engine config into separate interface
This config will be re-used by possible other implementations of
DebeiumEngine API in the embedded package. As DebeziumEngine API
can have completely different implementations and thus also config,
the class is called `EmbeddedEngineConfig` as it's assumed to be used
only by embedded engine "family" of implementations.

To keep backward compatibility, the config options are extracted into
an interface and `EmbeddedEngine` implements this interface, thus
allowing to use these options in custom classes without any need for the
code changes.
2023-11-06 10:50:21 +01:00
Debezium Builder
78c5204444 [maven-release-plugin] prepare for next development iteration 2023-10-26 15:39:35 +00:00
Debezium Builder
356e488e83 [maven-release-plugin] prepare release v2.5.0.Alpha1 2023-10-26 15:39:35 +00:00
Roman Kudryashov
b0d7d60b5d DBZ-7016 Optimize retrieval of id and type 2023-10-19 11:35:18 +02:00
Roman Kudryashov
22f6b083b1 DBZ-7016 Change metadata.location property syntax 2023-10-19 11:35:18 +02:00
Roman Kudryashov
ee64c70546 DBZ-7016 id and type of a CloudEvent can be retrieved from headers 2023-10-19 11:35:18 +02:00
Vojtech Juranek
7b4cf1901c DBZ-7013 Remove deprecated and unused code from embedded package 2023-10-10 06:36:05 +02:00
Roman Kudryashov
01485aceb3 DBZ-6982 Provide configuration option to exclude extension attributes from a CloudEvent 2023-10-04 13:58:53 +02:00
Debezium Builder
40a8f4026d [maven-release-plugin] prepare for next development iteration 2023-10-03 14:18:54 +00:00
Debezium Builder
412c6f7979 [maven-release-plugin] prepare release v2.4.0.Final 2023-10-03 14:18:54 +00:00
mfvitale
993413955c DBZ-6793 Add timestamp for notifications 2023-09-28 14:20:17 -04:00
Roman Kudryashov
98c426dec4 DBZ-3642 CloudEventsConverter can retrieve metadata info from headers 2023-09-26 13:06:09 +02:00
Animesh Kumar
fcbff074f4 DBZ-6787 Dedupe table list while incremental snapshot 2023-09-26 10:50:32 +02:00
Debezium Builder
cc1de0aa51 [maven-release-plugin] prepare for next development iteration 2023-09-22 09:00:45 +00:00
Debezium Builder
6809978083 [maven-release-plugin] prepare release v2.4.0.CR1 2023-09-22 09:00:45 +00:00
mfvitale
5d7ba3e951 DBZ-6957 Remove spaces in Signal and Notification JMX ObjectName 2023-09-21 12:04:33 -04:00
mfvitale
68eb4b2df2 DBZ-6828 Process drop table events during blocking snapshot 2023-09-20 08:18:33 +02:00
mfvitale
ae199d2053 DBZ-6828 Blocking snapshot will generate schema events only for signaled tables 2023-09-20 08:18:33 +02:00