Commit Graph

1910 Commits

Author SHA1 Message Date
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
Debezium Builder
6c6f6e9138 [maven-release-plugin] prepare release v2.5.0.Alpha2 2023-11-10 10:26:05 +00:00
mfvitale
33dc8e0ec6 DBZ-6317 Document tombstone behaviour 2023-11-10 06:43:18 +01:00
rkerner
68481038b3 DBZ-7105 Fix exceptions that are triggered by RelationalBaseSourceConnector#validate when calling #validateConnection() with an invalid configuration. Other, not-checked fields can cause an exception when the ConnectorConfig class is instantiated to setup the connection. Now we are only allowing connection validation when all config options are free of errors.
closes to https://issues.redhat.com/browse/DBZ-7105
2023-11-06 15:02:51 +01:00
Roman Kudryashov
3d56341375 DBZ-7060 Rename metadata.location -> metadata.source 2023-10-27 13:55:18 +02:00
harveyyue
767c342506 DBZ-7062 Update transformation property "delete.tombstone.handling.mode" to debezium doc 2023-10-27 11:17:02 +02: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
Jiri Pechanec
13d1b4e0b2 DBZ-4999 Provide hook to allow Informix to avoid blocking 2023-10-20 11:15:17 +02:00
Roman Kudryashov
215f3098b7 DBZ-7016 Refactoring 2023-10-19 11:35:18 +02:00
Roman Kudryashov
b0d7d60b5d DBZ-7016 Optimize retrieval of id and type 2023-10-19 11:35:18 +02:00
Roman Kudryashov
89e2700cbf DBZ-7016 Fix dataschema() 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
Jiri Pechanec
9b098615ab DBZ-6907 Change package; use better strategy names 2023-10-19 09:35:15 +02:00
harveyyue
4836fcf1ea DBZ-6907 Introduce a new handling deleted record option "delete.tombstone.handling.mode" 2023-10-19 09:35:15 +02:00
harveyyue
f64ea1a5f8 DBZ-6907 Extract an abstract transformation class from ExtractNewRecordState 2023-10-19 09:35:15 +02:00
Jiri Pechanec
6dfbdb4f69 DBZ-7033 Upgrade Kafka to 3.6.0 2023-10-18 07:23:42 +02:00
ani-sha
49ff78ae9a DBZ-7020 Modify the updated schema envelope, adjust tests 2023-10-16 10:06:38 +02:00
ani-sha
d28bedb710 DBZ-7020 Use single record schema definition 2023-10-16 10:06:38 +02:00
ani-sha
c4fe510f00 DBZ-7020 Add source block struct for transformed records 2023-10-16 10:06:38 +02:00
ani-sha
8cb02eb16a DBZ-7020 Use optional schema for Timezone Converter tests 2023-10-16 10:06:38 +02:00
Vojtech Juranek
3cc70c8a52 DBZ-6778 Remove unused code 2023-10-05 11:57:59 +02:00
Vojtech Juranek
d7e8943d4e DBZ-6778 Initialize ElapsedTimeStrategy upon its creation
Currently, newly created `ElapsedTimeStrategy` is uninitialized and its
`hasElapsed()` has to be called once `ElapsedTimeStrategy` is created to
initialize the strategy. This is confusing and error prone.

Move initialization of `ElapsedTimeStrategy` into it's constructor, so
it's initialized once it's created.
2023-10-05 11:57:59 +02:00
Roman Kudryashov
e8e7c705af DBZ-6982 Fix property name 2023-10-04 13:58:53 +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
harveyyue
e80c82622f DBZ-6983 Add the ability to sanitize field name when inferencing json schema 2023-10-04 13:53:18 +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
Jakub Cechacek
baafe602ce DBZ-6973 Literal matching mode for database/collection filters and ability to override internal aggregation pipeline for MongoDB conenctor 2023-10-02 08:25:53 +02:00
Jiri Pechanec
b65582f2c0 DBZ-6966 Fix reverted filtering logic 2023-09-28 14:27:16 -04:00
mfvitale
56795732b5 DBZ-6793 Add timestamp for notifications into documentation 2023-09-28 14:20:17 -04:00
mfvitale
993413955c DBZ-6793 Add timestamp for notifications 2023-09-28 14:20:17 -04:00
ani-sha
c20f297fe1 DBZ-6940 Refactor & add check for unsupported schema types 2023-09-28 13:58:13 -04:00
Jiri Pechanec
c7caa6726f DBZ-3642 Use Java naming conventions 2023-09-26 13:06:09 +02: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
nancyxu123
b08acc6043 DBZ-6870 throw producer exception during poll() even if the queue isn't empty yet 2023-09-26 10:05:48 +02:00
Jiri Pechanec
cd2df01fe8 DBZ-6956 Add parenthesis around additional condition 2023-09-25 06:10:35 +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
b4661881c9 DBZ-6945 Remove Table object for DROP schema event 2023-09-21 13:32:38 +02:00
rkerner
32161c9874 DBZ-4395 Add connector specific Debezium Connect REST Extension/s and move logic from UI backend to the Debezium Connect REST Extension (part 1 of the re-architecturing/re-factoring)
closes to https://issues.redhat.com/browse/DBZ-4395
2023-09-21 13:29:59 +02:00
harveyyue
e341910d2c DBZ-6910 Values being omitted from list of JSON object 2023-09-21 05:31:36 +02: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
mfvitale
19ee1070f5 DBZ-6937 Incremental snapshot context is initialized in processSchemaChange method to avoid NPE when no context from initial snapshot exists 2023-09-20 08:14:36 +02:00
Jiri Pechanec
d83139a54a DBZ-6901 Fix formatting 2023-09-19 07:00:14 +02:00
harveyyue
07abd6dbc2 DBZ-6901 ExtractNewRecordState's schema cache is not updated with arrival of the ddl change event 2023-09-19 07:00:14 +02:00
Debezium Builder
65169a9315 [maven-release-plugin] prepare for next development iteration 2023-09-13 09:41:46 +00:00
Debezium Builder
845e3e9d09 [maven-release-plugin] prepare release v2.4.0.Beta2 2023-09-13 09:41:46 +00:00
Chris Cranford
46fa3bef4d DBZ-2543 Refactor value conversion logic 2023-09-12 18:20:07 -04:00
Jiri Pechanec
f1e7999431 DBZ-6481 Support Postgres enum as key in incremental snapshot 2023-09-11 06:08:57 +02:00
ani-sha
087362bfcc DBZ-6567 Use optional seconds in TIMEZONE_OFFSET_PATTERN, handle sub-milliseconds precision loss, correct the DST time values 2023-09-07 11:00:26 +02:00
ani-sha
d46744aa06 DBZ-6567 Add a test case for checking DST 2023-09-07 11:00:26 +02:00
ani-sha
78477e7622 DBZ-6567 Handle DST for test cases, use correct zone rules 2023-09-07 11:00:26 +02:00
ani-sha
22500839de DBZ-6567 SMT for handling timezone based fields 2023-09-07 11:00:26 +02:00
Chris Cranford
c86b2648a5 DBZ-6864 Checkstyle fixes 2023-09-04 09:02:16 +02:00
Breno Moreira
3a2e141c56 DBZ-6864 - Debezium-MySQL not filtering AWS RDS internal events 2023-09-04 09:02:16 +02:00
Jiri Pechanec
0dd0ff7306 DBZ-6865 Clarify error message 2023-09-04 08:59:31 +02:00
harveyyue
fe300784b0 DBZ-6865 Avoid getting NPE when executing the arrived method in ExecuteSnapshot 2023-09-04 08:59:31 +02:00
Debezium Builder
d97a18e8dc [maven-release-plugin] prepare for next development iteration 2023-08-29 11:41:08 +00:00