Commit Graph

1972 Commits

Author SHA1 Message Date
harveyyue
82f5e6ea77 DBZ-7480 Allow special characters in signal table name 2024-02-19 11:43:20 +01:00
Vojtech Juranek
ae53895cd8 DBZ-7495 Define constant for executor shutdown timeout
Unify executor shutdown timeout for executor services in the code base.
2024-02-19 08:45:33 +01:00
jchipmunk
79763211cb DBZ-7479 Refactor code to support re-selection without flashback
Because OracleConnection uses flashback query (AS OF SCN) to re-select row, it is potentially possible to get "ORA-01555 Snapshot too old" error, which can be solved by performing reselection without flashback to get at least its latest row state.
2024-02-17 11:21:45 -05:00
jchipmunk
f50aa7a987 DBZ-7479 PreparedStatement leak in Oracle ReselectColumnsProcessor
Each time, Oracle connector creates a new instance of PreparedStatement because value of commit SCN is added directly to SQL query to reselect column values.
2024-02-17 11:21:45 -05:00
Chris Cranford
6862d04987 DBZ-7107 Add micro/nano second timestamps to source info block 2024-02-16 12:52:20 +01:00
Chris Cranford
f9971cf9cc DBZ-7107 Bump envelope schema from version 1 to 2 2024-02-16 12:52:20 +01:00
Chris Cranford
659fc8df4e DBZ-7107 Fix SerdeTest failure 2024-02-16 12:52:20 +01:00
Chris Cranford
cac38fc484 DBZ-7107 Introduce micro/nano second based envelope timestamps 2024-02-16 12:52:20 +01:00
Chris Cranford
09e1bf1df0 DBZ-7488 Skip re-selection on r (read) events 2024-02-16 12:33:33 +01:00
Debezium Builder
10e327602c [maven-release-plugin] prepare for next development iteration 2024-02-13 09:20:04 +00:00
Debezium Builder
0c5b05738c [maven-release-plugin] prepare release v2.6.0.Alpha2 2024-02-13 09:20:04 +00:00
mfvitale
cb5a4d7a1a DBZ-7481 SnapshotterServiceProvider will check if snapshot mode class is related to the running connector. 2024-02-13 08:42:34 +01:00
Sergey Ivanov
d96c30ef3f DBZ-7437: ReselectColumnsPostProcessor filter not use exclude predicate. 2024-02-06 12:27:55 +01:00
mfvitale
a8a07e35f1 DBZ-7301 Implement SnapshotLock for MySQL connector 2024-02-06 07:12:42 +01:00
mfvitale
1cdf2836dd DBZ-7301 Implement Snapshotter for MySQL connector 2024-02-06 07:12:42 +01:00
mfvitale
c9458f4f58 DBZ-7300 Snapshotter, SnapshotLock and SnapshotQuery are now services registered in the ServiceRegistry 2024-02-06 07:12:42 +01:00
mfvitale
d0e4ad7e14 DBZ-7441 Postpone SignalProcessor start after streaming is initialized
This will avoid that channels that not depends on the event streaming like the 'source' channel, will start processing signals before the IncrementalSnapshotChangeEventSource is initialized.
2024-02-05 14:06:40 +01:00
mfvitale
881442de3d DBZ-7300 Fix duplicate field assignment for CONNECTOR_SNAPSHOT group 2024-02-02 13:41:45 +01:00
mfvitale
3b92786a41 DBZ-7300 Snapshotter, SnapshotLock and SnapshotQuery are now services registered in the ServiceRegistry 2024-02-02 13:41:45 +01:00
mfvitale
fa338b61c4 DBZ-7436 Add empty statistics for SingleDuration to avoid NPE 2024-02-02 12:36:24 +01:00
Chris Cranford
2bfa92e6af DBZ-7429 Resolve primary key values from after struct 2024-01-31 12:05:07 +01:00
Fiore Mario Vitale
1c93a92b84 DBZ-7421 Change access modifier for SnapshotDataCollection to private
Co-authored-by: Jiri Pechanec <jpechane@redhat.com>
2024-01-31 11:05:04 +01:00
mfvitale
f9034f2108 DBZ-7421 Encapsulate data collection queue and its json version into a dedicated class 2024-01-31 11:05:04 +01:00
mfvitale
81298865a5 DBZ-7421 Improve incremental snapshot performance with increasing number of collections to snapshot 2024-01-31 11:05:04 +01:00
nicholas-fwang
d710ee6b9f DBZ-7143 Rollback ValueConverter and handle when parse default value 2024-01-29 13:48:19 +01:00
nicholas-fwang
5aae5f51f4 DBZ-7143 Move event converting failure handler to ValueConverter interface. 2024-01-29 13:48:19 +01:00
nicholas-fwang
2bdeec099a DBZ-7143 Add document for event.converting.failure.handling.mode 2024-01-29 13:48:19 +01:00
nicholas-fwang
7d99605886 DBZ-7143 Add case when EventConvertingFailureHandlingMode is null 2024-01-29 13:48:19 +01:00
nicholas-fwang
4f2bbb023a DBZ-7143 fix checkstyle format 2024-01-29 13:48:19 +01:00
nicholas-fwang
3a5f35594c DBZ-7143 Add description of event.converting.failure.handling.mode 2024-01-29 13:48:19 +01:00
nicholas-fwang
57a46943af DBZ-7143 throw exception in JdbcValueConverters 2024-01-29 13:48:19 +01:00
nicholas-fwang
eeea0f1e70 DBZ-7143 Add event.converting.failure.handling.mode option 2024-01-29 13:48:19 +01:00
Animesh Kumar
2f8114029e DBZ-7380 Offset transaction id only when it's non null 2024-01-24 15:32:34 +01:00
ani-sha
5be134eb42 DBZ-7022 Use prefix names from Envelope class 2024-01-22 10:49:38 +01:00
ani-sha
78a54a3ff7 DBZ-7022 Adjust prefix names, simplify null check 2024-01-22 10:49:38 +01:00
ani-sha
17d3df62c0 DBZ-7022 Allow conversion of source block timestamp fields 2024-01-22 10:49:38 +01:00
Debezium Builder
65d63ed42d [maven-release-plugin] prepare for next development iteration 2024-01-21 10:12:45 +00:00
Debezium Builder
485fa82a8f [maven-release-plugin] prepare release v2.6.0.Alpha1 2024-01-21 10:12:44 +00:00
Chris Cranford
c1b7e68319 DBZ-7358 Use relational table primary key by default
This fix uses the relational table primary key by default; however, as a
user can define `message.key.columns` to even override the primary key
configuration or to handle keyless tables, the user can override the
`reselect.use.event.key` option with `true` so use the event key fields
instead for the re-select so that keyless tables can also participate
with the column reselection process.
2024-01-18 05:53:37 +01:00
Jiri Pechanec
4332240d6c DBZ-7340 Upgrade Groovy and GraalJS to the latest 2023 version 2024-01-17 12:50:21 +01:00
Peter Hamer
a4e660f979 DBZ-7347 use identifiers for initial snapshot notifications 2024-01-17 09:42:27 +01:00
“vsantonastaso”
c045fab3dd DBZ-7249 Add Notification ID in log channel 2024-01-12 06:34:48 +01:00
Roman Kudryashov
0c80f1f38d DBZ-7284 Provide config option to customize CloudEvents.data schema name 2024-01-11 13:20:35 +01:00
Jakub Cechacek
5dbe073d3b DBZ-7260 Offset value conversion extracted into common util class 2024-01-11 09:58:24 +01:00
mfvitale
20fbe73bc8 DBZ-7311 Use a more meaningful name for identify an on demand blocking snapshot 2024-01-08 12:52:03 +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
Chris Cranford
84fe328a91 DBZ-7315 Introduce trimmed variant helpers 2024-01-05 10:52:32 +01:00
Mickael Maison
70e7186868 DBZ-7298 Add service loader manifests for all Connect plugins
Add manifests for source/sink connectors, converters and transformations.
2024-01-04 09:22:29 +01:00
mfvitale
b770ed4a31 DBZ-7256 Enhance logs for incremental snapshot 2024-01-03 09:19:05 +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
ani-sha
4b36ed9975 DBZ-7177 DBZ-6764 Use correct context name and add suggestions for code review 2023-12-20 08:56:56 +01:00
rkerner
e06f96f339 DBZ-6764 Fix waitForStreamingRunning/isStreamingRunning 2023-12-20 08:56:56 +01:00
ani-sha
a12b1a9872 DBZ-6764 Connector metrics implementation for REST extension 2023-12-20 08:56:56 +01:00
ani-sha
b4c939e488 DBZ-7177 Remove jolokia dependencies 2023-12-20 08:56:56 +01:00
ani-sha
e535e5b78d DBZ-7177 Add suggestions from code review, adjust code style changes 2023-12-20 08:56:56 +01:00
ani-sha
2555a1cee2 DBZ-6764 DBZ-7178 DBZ-7177 Use MBeanServer to query metrics for REST endpoint and create new metrics descriptor 2023-12-20 08:56:56 +01:00
ani-sha
ed4e497718 DBZ-6764 Fix build by bumping ancient rest-assured version & Jolokia version to match Quarkus dependency for httpcore & httpclient-osgi/httpclient dependencies 2023-12-20 08:56:56 +01:00
ani-sha
2165d9bed1 DBZ-6764 Connector metrics implementation for REST extension 2023-12-20 08:56:56 +01:00
Roman Kudryashov
516aa87fad DBZ-7235 Add option to customize CloudEvents schema name 2023-12-20 06:53:37 +01:00
“vsantonastaso”
9dac11e1cd DBZ-7164 Support offset commit for the signal topic 2023-12-19 15:51:10 +01:00
harveyyue
225277c5c0 DBZ-7251 Return generic DataCollectionId instead of REST response DataCollection in getMatchingCollections method 2023-12-19 12:53:57 +01:00
harveyyue
4719396ffc DBZ-7145 Introduce a common parent connect for all Debezium source connectors 2023-12-19 12:53:57 +01:00
harveyyue
5553059fb8 DBZ-7167 Provide a public API from the connector implementations to retrieve the list of matching collections or tables based on the different include-/exclude lists 2023-12-19 12:53:57 +01:00
Jiri Pechanec
66bb795860 DBZ-7271 Make db name optional in RDS filter regexes 2023-12-19 06:20:33 +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
985e5c8600 DBZ-4321 Use Closeable rather than Stoppable 2023-12-13 11:27:40 -05:00
Chris Cranford
5c6b437f24 DBZ-4321 Rename getServiceNoThrow as tryGetService 2023-12-13 11:27:40 -05:00
Chris Cranford
21641d76c0 DBZ-4321 Use InjectService in PostProcessorRegistry 2023-12-13 11:27:40 -05:00
Chris Cranford
2b02b3982e DBZ-4321 Rework configuration options 2023-12-13 11:27:40 -05:00
Chris Cranford
8b016adb70 DBZ-4321 Adjust ReselectColumnsPostProcessor column value null check 2023-12-13 11:27:40 -05:00
Chris Cranford
82b317df92 DBZ-4321 Relax service existence in EventDispatcher 2023-12-13 11:27:40 -05:00
Chris Cranford
ada157d117 DBZ-4321 Introduce BeanRegistry and ServiceRegistry
As a part of this work to handle injection in a cleaner way, this commit
adds two new broad concepts called `BeanRegistry` and `ServiceRegistry`.

A BeanRegistry is a glorified registry of different objects that are not
necessarily services but may be desired by a service. This contract will
allow Debezium to integrate in the future with other CDI providers.

A ServiceRegistry is more of an internal concept, where various systems
can be started based on their dependency order and provides a universal
way to split larger parts of the code into smaller, focused modules that
can be accessed using the Service Locator pattern.
2023-12-13 11:27:40 -05:00
Chris Cranford
26b3881941 DBZ-4321 Add MongoDB hook & polish injection handler 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
harveyyue
c5ce1cf945 DBZ-7251 Length value is not removed when changing a column's type 2023-12-12 10:18:21 +01:00
harveyyue
b6924e6efc DBZ-7145 Introduce a new SMT to extract table schema information for jdbc sink connector 2023-12-08 13:33:15 +01:00
Roman Kudryashov
c7b3197bc1 DBZ-7216 Fix data schema name in case of metadata is in headers 2023-12-06 14:22:24 +01: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
Jakub Cechacek
8a5007a738 DBZ-7184 Refactored streaming loop of MongoDB connector 2023-12-04 06:58:28 +01:00
Jakub Cechacek
93e8570fb6 DBZ-7184 Implementation of buffering change stream cursor 2023-12-04 06:58:28 +01:00
Chris Cranford
17a9245772 DBZ-7197 Checkstyle fixes 2023-11-29 12:10:04 -05:00
Matt Vance
f26c24e82f DBZ-7197 Add "table.fields.additional.error.on.missing" config support to Outbox EventRouter 2023-11-29 12:10:04 -05:00
Roman Kudryashov
6474c68e42 DBZ-7159 Simplify CE validator API by setting serializer type at the configuration phase 2023-11-29 15:09:10 +01:00
“vsantonastaso”
8c1c369449 DBZ-6878 add table specific notification in initial snapshot 2023-11-29 08:32:21 +01:00
Roman Kudryashov
cf3b74bcfb DBZ-7159 Code review 2023-11-23 14:19:37 +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
rkerner
aeaba3ae70 DBZ-6762 Add "validate filters" endpoint/s for connector-specific Connect REST Extensions
closes to https://issues.redhat.com/browse/DBZ-6762
2023-11-22 06:10:40 +01:00
ruslan
daf7f57d77 DBZ-7142 Improved Outbox Event Router SMT to handle whitespaces inside of fields.additional.placement setting 2023-11-16 11:57:34 +01:00
mfvitale
a049ea92fa DBZ-7141 Remove ComputePartition SMT related code 2023-11-15 12:57:11 +01:00
Jiri Pechanec
e654dc228f DBZ-7066 Code reorganization 2023-11-14 11:56:16 +01:00
harveyyue
223b6e4335 DBZ-7066 Extract common creating transformation methods to ConnectRecordUtil 2023-11-14 11:56:16 +01:00
harveyyue
4c3b5540ec DBZ-7066 Add NewExtractNewDocumentStateTest and NewExtractNewDocumentStateTestIT for new option "delete.tombstone.handling.mode" 2023-11-14 11:56:16 +01:00
harveyyue
d21d5838fc DBZ-7066 Add NewExtractNewRecordStateTest for new option "delete.tombstone.handling.mode" 2023-11-14 11:56:16 +01:00
harveyyue
5e8287eb40 DBZ-7066 The DefaultDeleteHandlingStrategy couldn't add the rewrite "__deleted" field to a non-struct value 2023-11-14 11:56:16 +01:00
Debezium Builder
1521445908 [maven-release-plugin] prepare for next development iteration 2023-11-10 10:26:05 +00:00