Commit Graph

823 Commits

Author SHA1 Message Date
Jiri Pechanec
067683e56a DBZ-6076 Consistent config for all connectors 2023-06-15 11:55:28 +02:00
Anil Dasari
0431a8b9fc DBZ-6076: Add support for custom SourceInfoStructMaker for adding new fields to source field 2023-06-15 11:55:28 +02:00
kate
24d3425fdf DBZ-6552 Notify when incremental snapshot fails 2023-06-12 15:14:40 +02:00
Debezium Builder
5d1b00588a [maven-release-plugin] prepare for next development iteration 2023-06-09 09:23:38 +00:00
Debezium Builder
d1e6107517 [maven-release-plugin] prepare release v2.3.0.CR1 2023-06-09 09:23:37 +00:00
Ronak Jain
3f3967c2bb DBZ-6366: Code Improvements for skip.messages.without.change
Addresses/Closes DBZ-6366
2023-06-05 14:50:25 +02:00
Debezium Builder
aa5b2131fc [maven-release-plugin] prepare for next development iteration 2023-05-26 10:35:20 +00:00
Debezium Builder
9cc9b3c29a [maven-release-plugin] prepare release v2.3.0.Beta1 2023-05-26 10:35:20 +00:00
mfvitale
547ecd02ca DBZ-6447 Fix incremental snapshot notification on MongoDb connector 2023-05-23 09:57:05 +02:00
mfvitale
dc00f64bbf DBZ-6447 Incremental snapshot notification ids are now equal to the id sent in the execute-snapshot signal. 2023-05-23 09:57:05 +02:00
jcechace
2de3f0d9a4 DBZ-6421 Ability to recover from cursor which doesn't return resume token when there is no change document (e.g. in case of DocumentDB connection) 2023-05-15 14:08:57 +02:00
jcechace
5dfe52dbc4 DBZ-6421 Streaming pipeline is now compatible with DocumentDB 2023-05-15 14:08:57 +02:00
jcechace
dad7d0ce14 DBZ-6421 Ability to run tests against external deployment of MongoDB and AWS DocumentDB specifically 2023-05-15 14:08:57 +02:00
Debezium Builder
a5b44767bc [maven-release-plugin] prepare for next development iteration 2023-05-11 11:05:24 +00:00
Debezium Builder
1b1a7531f2 [maven-release-plugin] prepare release v2.3.0.Alpha1 2023-05-11 11:05:24 +00:00
mfvitale
7429b4e6f1 DBZ-1973 Add incremental snapshot notifications 2023-05-10 12:22:02 +02:00
mfvitale
811b800f55 DBZ-1973 Add support for Notifications
DBZ-1973 Add more tests for other connectors

DBZ-1973 Add send method with offset parameter

DBZ-1973 Instantiate NotificationService in the task class

DBZ-1973 Instantiate NotificationService in the task class

DBZ-4027 Move specific sink channel configuration to SinkNotificationChannel

DBZ-4027 Remove not used SPI file

DBZ-1973 Moved SPI file definition to debezium-core

DBZ-1973 Rename KafkaNotificationChannel to more generic SinkNotificationChannel

DBZ-1973 Code refactor

DBZ-1973 Improve configuration property description

DBZ-1973 Improve test

DBZ-1973 Add close method to NotificationChannel

DBZ-1973 Implement KafkaNotificationChannel

DBZ-1973 Add NotificationService and LogNotificationChannel
2023-05-10 12:22:02 +02:00
mfvitale
952340286e DBZ-4027 Make signalling channel configurable
DBZ-4027 Add an Incremental snapshot test with kafka signaling

DBZ-4027 Add an Incremental snapshot test with kafka signaling

DBZ-4027 Add an Incremental snapshot test with kafka signaling

DBZ-4027 Code style

DBZ-4027 Make SignalPayload more generic and extensible

DBZ-4027 Rename DatabaseSignalChannel to SourceSignalChannel

DBZ-4027 Improve logging

DBZ-4027 Moved SPI file definition to debezium-core

DBZ-4027 Move SignalProcessor synchronization point to be processed only when a signal cdc event arrives.

DBZ-4027 Add EventDispatcher constructor without signalProcessor for spanner connector

DBZ-4027 Fix NPE

DBZ-4027 Fix NPE

DBZ-4027 Formatting

DBZ-4027 Correctly manage signal on not supported connector

DBZ-4027 Use the correct MongoDbOffset

DBZ-4027 Correctly initialize offset for Oracle and SqlServer connectors

DBZ-4027 Register SPI implementations

DBZ-4027 Improve SignalProcessor instantiation

DBZ-4027 Pass source info in case of SchemaChanges action

DBZ-4027 Manage close event in a synchronous way

DBZ-4027 Correctly init offset context also in case of snapshot mode 'never'

DBZ-4027 Fix MySqlMetricsIT test

DBZ-4027 Move KafkaSignalChannel to core

DBZ-4027 Move KafkaSignalChannel to core

DBZ-4027 Set pass offset context after initial snapshot to SignalProcessor

DBZ-4027 Pass OffsetContext to signal processor

DBZ-4027 Pass CommonConnectorConfig to SignalChannelReader init method

DBZ-4027 Move Incremental snapshot window actions to dedicated package

DBZ-4027 Align SignalsIT test with new code

DBZ-4027 Fix SignalsIT test

DBZ-4027 Fix SignalProcessor scheduling

DBZ-4027 Moved DatabaseSignalChannel and SignalChannelReader to dedicated package

DBZ-4027 Start SignalProcessor from ChangeEventSourceCoordinator

DBZ-4027 Create SignalProcessor and renamed Signal to DatabaseSignalChannel

DBZ-4027 Initial refactoring of signal feature
2023-05-05 13:35:40 +02:00
ani-sha
a453c3ca19 DBZ-6259 Add missing description of various snapshot modes in the connector field definitions 2023-05-01 11:03:04 -04:00
jcechace
d3d194f34d DBZ-6402 Using MongoCommandException to detect invalid change stream resume token in order to perform snapshot properly 2023-04-29 14:06:55 -04:00
Debezium Builder
bb1b79f3bd [maven-release-plugin] prepare for next development iteration 2023-04-20 09:09:43 +02:00
Debezium Builder
5483b4de99 [maven-release-plugin] prepare release v2.2.0.Final 2023-04-20 09:09:43 +02:00
jcechace
69ee48dd95 DBZ-4427 Reverting trace logging configuration in MongoDB tests 2023-04-19 16:03:43 +02:00
jcechace
8e1d83ce88 DBZ-4427 Added sharding log messages to container infrastructure 2023-04-19 12:05:59 +02:00
jcechace
753c900a15 DBZ-4427 basic test for incremental snapshot support with sharded MongoDB deployments 2023-04-19 12:05:59 +02:00
Debezium Builder
976a47a3a3 [maven-release-plugin] prepare for next development iteration 2023-04-14 08:46:06 +00:00
Debezium Builder
1ca8399e8b [maven-release-plugin] prepare release v2.2.0.CR1 2023-04-14 08:46:06 +00:00
Debezium Builder
5c650fd054 [maven-release-plugin] prepare for next development iteration 2023-03-31 10:00:16 +00:00
Debezium Builder
68ffc4833b [maven-release-plugin] prepare release v2.2.0.Beta1 2023-03-31 10:00:16 +00:00
jcechace
2fdd3fbc86 DBZ-6170 Added basic test scenario for running mongodb connector with sharded mongodb cluster 2023-03-27 10:31:47 +02:00
jcechace
033396bf80 DBZ-6170 Support for connecting to mongodb sharded clusters either with single connection to mongos or to each shard individually 2023-03-27 10:31:47 +02:00
Vojtech Juranek
f32bf343c7 DBZ-6216 Remove obsolete Mongo notes
Mongo tests were migrated to testcontainers and Mongo is not run via
Maven plugin or manually any more.
2023-03-23 13:29:19 +01:00
jcechace
a393930de9 DBZ-5987 Removing unnecessary getOffset() call during streaming 2023-03-16 13:20:19 +01:00
jcechace
a536952779 DBZ-5987 Code cleanup in MongoDb SourceInfo 2023-03-16 13:20:19 +01:00
jcechace
0f10c71642 DBZ-5987 Using consistent approach when extracting change event timestampt acroos different event types 2023-03-16 13:20:19 +01:00
jcechace
6d7b655273 DBZ-5987 cleanup of connection management in *ChangeEventSource classes 2023-03-16 13:20:19 +01:00
jcechace
04dbae17ad DBZ-5987 Cleaning up and updating its test coverage 2023-03-16 13:20:19 +01:00
jcechace
a39c084259 DBZ-5987 Replacing remaining usages of oplog with resume tokens retrieved from either change stream even or cursor 2023-03-16 13:20:19 +01:00
jcechace
bfdba1fb25 DBZ-5987 Removing obsolete ReplicaSetChangeStreamsContext from MongoDbStreamingChangeEventSource in order to simplify the implementation 2023-03-16 13:20:19 +01:00
Debezium Builder
55d65e9618 [maven-release-plugin] prepare for next development iteration 2023-03-08 11:38:17 +00:00
Debezium Builder
6d183c3dc1 [maven-release-plugin] prepare release v2.2.0.Alpha3 2023-03-08 11:38:16 +00:00
Jiri Pechanec
98dcdb8f55 DBZ-6023 Remove nnecessary code 2023-03-06 10:25:59 +01:00
PlugaruT
472162e46e DBZ-6023 Add support for providing a surrogate key when triggering incremental snapshots
For tables that have a composite Primary Key, SQL queries for incremental snapshot perform bad. This change allows to provide a surrogate key that will be used for the queries. The key should be unique in order for the snapshot to guarantee consistency.
2023-03-06 10:25:59 +01:00
ggaborg
065dc997b9 DBZ-823 Optionally parallelize initial snapshots 2023-03-03 12:47:15 +01:00
jcechace
aedb4fdd6a DBZ-6032 Making MongoDbConnectorConfig.REPLICA_SETS internal 2023-03-03 05:46:33 +01:00
jcechace
7d3cca89bd DBZ-6032 MongoConnection allways rethrows InterruptedException 2023-03-03 05:46:33 +01:00
jcechace
67d3f5b373 DBZ-6032 Removing obsolete retry configuration 2023-03-03 05:46:33 +01:00
jcechace
f305bcd9ab DBZ-6032 Further simplifying connection logic 2023-03-03 05:46:33 +01:00
jcechace
ecdb4729af DBZ-6032 Introducing connection package to mongo connector 2023-03-03 05:46:33 +01:00
jcechace
922191cdd7 DBZ-6032 Connection management refactoring 2023-03-03 05:46:33 +01:00
Bobby Tiernay
fe3135f28d DBZ-6131: Support change stream filtering using MongoDBs aggregation pipeline step. 2023-02-28 20:17:05 +01:00
Bobby Tiernay
37a6fea350 DBZ-6152: Remove hardcoded list of system database exclusions that are not required for change streaming. 2023-02-24 09:43:39 +01:00
Bobby Tiernay
5d80712781 DBZ-5201: Add MongoDB connector support for server-side filtering of replica set change streams.
This change migrates from doing client-side filtering of streaming
change events to performing it server-side via MongoDB's support
for aggregation pipelines. This can drastically cut down on the amount
of data sent between the client and server. In addition, a new approach
to heartbeating has been added which relies on the `postBatchResumeToken`
to advance the the cursor even when no changes occur on the pipeline.
2023-02-23 18:14:08 +01:00
Xinbin Huang
76a8f8dbe1 DBZ-6118: Update ExtractNewDocumentState to parse change stream output 2023-02-23 09:09:04 +01:00
Xinbin Huang
2c57b93384 DBZ-6118: Cleanup Mongo oplog code logic 2023-02-23 09:09:04 +01:00
Eugene Abramchuk
fcc44edf0b DBZ-6113 Correct max reconnect attempts
Originally there are max+1 attempts
2023-02-21 08:10:26 +01:00
Xinbin Huang
a3d75e798a DBZ-6116: Support String type for key in Mongo incremental snapshot 2023-02-20 13:55:54 +01:00
Debezium Builder
2245ceda44 [maven-release-plugin] prepare for next development iteration 2023-02-16 11:28:25 +00:00
Debezium Builder
20f3b16e8a [maven-release-plugin] prepare release v2.2.0.Alpha2 2023-02-16 11:28:25 +00:00
Yang Wu
e98089e9a3 DBZ-6038 Expose walltime from mongo record parser 2023-02-14 09:48:17 +01:00
harveyyue
57b902ff8c DBZ-5743 Introduce alternative AVRO_UNICODE mode for field name selector 2023-02-02 13:21:45 +01:00
jcechace
e982033961 DBZ-6064 masking sensitive information in connection string on close 2023-02-01 11:05:16 +01:00
jcechace
0918c34b38 DBZ-5973 Support for more types as key in mongodb incremental snapshot implementation 2023-02-01 08:47:14 +01:00
Yang Wu
2a366cf398 DBZ-6038 Add wallTime in mongo source info 2023-01-25 10:30:32 +01:00
Debezium Builder
04f5291a2d [maven-release-plugin] prepare for next development iteration 2023-01-19 11:32:10 +00:00
Debezium Builder
027527963e [maven-release-plugin] prepare release v2.2.0.Alpha1 2023-01-19 11:32:10 +00:00
Jiri Pechanec
8ca5e0a9b5 DBZ-4669 Reformat after plugin version consolidation 2023-01-11 06:44:53 +01:00
Mark Lambert
e5d16b14a6 DBZ-2439 Remove redundant modifiers 2023-01-11 06:44:53 +01:00
Debezium Builder
cf1720e4cb [maven-release-plugin] prepare for next development iteration 2022-12-22 10:11:54 +00:00
Debezium Builder
b4ea9b46cd [maven-release-plugin] prepare release v2.1.0.Final 2022-12-22 10:11:53 +00:00
jcechace
351a0d73fe DBZ-4339 Preferring secondaries to perform incremental snapshot where possible 2022-12-20 15:03:17 +01:00
jcechace
3966a4099a DBZ-4339 MongoDbIncrementalSnapshotChangeEventSource uses MongoPreferredNode 2022-12-20 15:03:17 +01:00
jcechace
27cea0e5e6 DBZ-4339 Preferring secondaries to perform snapshot 2022-12-20 15:03:17 +01:00
jcechace
44ae4697d7 DBZ-4339 Preferring secondaries for opening mongodb change stream during streaming phase 2022-12-20 15:03:17 +01:00
jcechace
434322256c DBZ-4339 Generalising MongoPrimary into MongoPreferredNode 2022-12-20 15:03:17 +01:00
harveyyue
03933f61ea DBZ-5818 field.exclude.list in MongoDB Connector v2.0 doesn't accept * as a wildcard for collectionName 2022-12-19 13:39:37 +01:00
Debezium Builder
177a60a9d3 [maven-release-plugin] prepare for next development iteration 2022-12-16 09:33:38 +00:00
Debezium Builder
f805db8c3c [maven-release-plugin] prepare release v2.1.0.Beta1 2022-12-16 09:33:38 +00:00
jcechace
60910872b9 DBZ-5857 Using single member replica as default 2022-12-16 08:43:25 +01:00
jcechace
c9ef1136b5 DBZ-5857 Excluding JUnit5 from debezium-testing-testcontainers dependency in mongo module 2022-12-16 08:43:25 +01:00
jcechace
0951f9994f DBZ-5857 Migrated MongoDB integration tests to test-containers 2022-12-16 08:43:25 +01:00
Vojtech Juranek
9494552a3a DBZ-5838 Add missing Apicurio converter dependency 2022-12-12 14:44:05 +01:00
Marcelo Avancini
7754163c5d DBZ-2432: Fixing misuse of assertj
- Some usages of assertj was not callig the actual assert of the DSL, fixing it
- Changing the Assertions to be staticlly imported
2022-12-08 13:10:26 +01:00
Vojtech Juranek
e1b65cd6f7 DBZ-5889 Run integration tests in specified order
Run the tests alwyas in thr same order to make it more easy to debug
failures. If needed, the order can be changed (e.g. to `random`) by
overriding propeperty `runOrder`.
2022-12-08 13:00:41 +01:00
Jiri Pechanec
97ea30f25d DBZ-5893 Mask connection string in connector option logging 2022-12-07 08:41:34 +01:00
jcechace
2468d73783 DBZ-5893 Masking credentials in connection string when logging 2022-12-07 05:45:58 +01:00
Debezium Builder
81896ed334 [maven-release-plugin] prepare for next development iteration 2022-11-30 07:52:24 +00:00
Debezium Builder
1aac97b87c [maven-release-plugin] prepare release v2.1.0.Alpha2 2022-11-30 07:52:23 +00:00
Bobby Tiernay
adb672a87c DBZ-4339 Migrate from JUnit 4 to 5, rename utility class, fix formatting. 2022-11-30 07:00:56 +01:00
Bobby Tiernay
950a2a8bdf DBZ-4339 Migrate MongoDB Testcontainer support to debezium-testing-testcontainers module. 2022-11-30 07:00:56 +01:00
Bobby Tiernay
5c94151b1f DBZ-4339 Make mongosh more resilient to various output conditions. 2022-11-30 07:00:56 +01:00
Bobby Tiernay
849347b7ec DBZ-4339 Remove reliance on MongoDB driver in non-IT code. 2022-11-30 07:00:56 +01:00
Bobby Tiernay
3ced3afa9f DBZ-4339 Add polish, consistency, Java Doc, and DRY duplicated code elements. 2022-11-30 07:00:56 +01:00
Bobby Tiernay
8f6abd4428 DBZ-4339 Remove need for container names and fixed ports on Linux. 2022-11-30 07:00:56 +01:00
Bobby Tiernay
b6712c7ccc DBZ-4339 Convert to use IPs for linux MongoClients. 2022-11-30 07:00:56 +01:00
Bobby Tiernay
8c8804665f DBZ-4339 Fix errant shard host names and add additional java docs / assertions. 2022-11-30 07:00:56 +01:00
Bobby Tiernay
6f9ee66678 DBZ-4339 Add MongoDB Testcontainers support for functional testing. 2022-11-30 07:00:56 +01:00
Erdinç Taşkın
97548591d6 [optimization] Prevent unnecessary list creation
Prevent unnecessary list creation
2022-11-29 14:08:27 +01:00
Vojtech Juranek
79c47334c2 DBZ-5834 Allow to add updateDescription fields
Allow to add `updateDescription` fields as additional fields/headers
during `ExtractNewDocumentState` transformation.
2022-11-16 14:26:51 +01:00
Debezium Builder
e311dd1a67 [maven-release-plugin] prepare for next development iteration 2022-11-10 13:29:06 +00:00