Commit Graph

1876 Commits

Author SHA1 Message Date
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
Debezium Builder
5ce25f2cfe [maven-release-plugin] prepare release v2.4.0.Beta1 2023-08-29 11:41:08 +00:00
“vsantonastaso”
3ec6a3f18e DBZ-6843 change skipped change event log to debug 2023-08-29 12:18:17 +02:00
Chris Cranford
ed88a73510 DBZ-6840 Add test case 2023-08-29 11:56:12 +02:00
harveyyue
c03b2249d8 DBZ-6840 Wrong filtered comments 2023-08-29 11:56:12 +02:00
Vojtech Juranek
c2b48312a6 DBZ-6841 Fix randomly failing BaseSourceTaskTest#verifyTaskRestartsSuccessfully
Test was passing locally and in the CI as the start was very fast and
after the first start retriable wait condition wasn't met, so we
actually sleep and while the sleep we doesn't increment the counter
and the state is still `RESTARTING`. On slower machines when start
takes longer time and we don't wait, the test is actualy wrong.
The correct test either should remove last assert for `RESTARTING`
state or increase number of failures and add a sleep time after initial
start, so that there is no retry wait time.
This PR implements the later option.
2023-08-29 10:27:56 +02:00
“vsantonastaso”
43adc59292 DBZ-6742 use JSON format for JMX Notitication userData 2023-08-22 06:42:51 +02:00
Chris Beard
2d6490e3f8 [docs] Fix minor typos in ExtractNewRecordState docs 2023-08-20 22:37:03 -04:00
Matan Cohen
40ac4662fb DBZ-6712 fix snapshot to history internal topic to respect schema.history.internal.store.only.captured.databases.ddl flag 2023-08-15 19:34:40 +02:00
mfvitale
542b3619fa DBZ-6731 Blocking snapshot takes configuration from signal payload 2023-08-15 12:43:43 +02:00
“vsantonastaso”
64eaf72665 DBZ-6689 make kafka signal consumer group configurable 2023-08-11 13:20:07 +02:00
Anil Dasari
b7e0e1cd2a DBZ-6641: Schema name changed with Custom topic naming strategy 2023-08-10 11:53:31 +02:00
Anil Dasari
a4c0bf5614 DBZ-6641: Schema name changed with Custom topic naming strategy 2023-08-10 11:53:31 +02:00
Jiri Pechanec
ec100d6127 DBZ-6240 Rename vars to reflect the semantics 2023-08-10 07:04:17 +02:00
sunxiaojian
43c7c0a3f6 DBZ-6240 Rename the configuration name 'schema.change.event.include.list' to 'schema.change.event.exclude.list' 2023-08-10 07:04:17 +02:00
sunxiaojian
6451c93256 DBZ-6240 Add an STM to filter schema change event 2023-08-10 07:04:17 +02:00
Debezium Builder
3c72f071b0 [maven-release-plugin] prepare for next development iteration 2023-08-09 10:33:06 +00:00
Debezium Builder
915c465440 [maven-release-plugin] prepare release v2.4.0.Alpha2 2023-08-09 10:33:06 +00:00
david remy
565075a320 DBZ-2862 Improved OpenTelemetry Handling in Debezium
- Implemented a dynamic solution for handling version changes in OpenTelemetry, using Java introspection to determine the correct interceptor class at runtime.
- Utilized a custom "ProducerInterceptor" to delegate logic based on the presence of specific OpenTelemetry classes.
- Removed direct usage of OpenTelemetry's internal API 'ConfigUtils'.
- Aligned solution with Debezium's aim of ensuring compatibility with Strimzi.

This update ensures a more robust handling of OpenTelemetry's version transitions.
2023-08-08 21:34:04 +02:00
REMY David
15fdcb5027 DBZ-2862 Performance optimization
- Changing the traceRecord method to be static. This avoids creating an instance on each call.
- Caching the results of isOpenTelemetryJavaagentEnable() and isOpenTelemetryApiEnable().
- Using isDebugEnabled() to avoid the costs of constructing strings when it's not necessary.
- Reorganizing some conditions to minimize the operations performed.
- Moving the static instances TEXT_MAP_PROPAGATOR, SETTER, and GETTER into the traceRecord method. This will prevent them from being held in memory when not in use.
2023-08-08 21:34:04 +02:00
REMY David
86e5288656 DBZ-2862 Removed reference to Strimzi in comment 2023-08-08 21:34:04 +02:00
REMY David
76c536ec23 DBZ-2862 Adaptation of traceability with OpenTelemetry dependencies in the scope provided. Moved the interceptor to a new module. 2023-08-08 21:34:04 +02:00
REMY David
5846446672 DBZ-2862 Switch tracing to OpenTelemetry, Rewrite SMT with Otel API, Add Interceptor for e2e tracing, add Otel TextMap getter and setter 2023-08-08 21:34:04 +02:00
mfvitale
df52a1068a DBZ-6777 Fix wrong static notification and signals lists that lead to be wrongly shared between connectors instances 2023-08-08 13:01:37 +02:00
Vojtech Juranek
41cdaeb170 DBZ-6213 Adjust connector restart
* Try to start the connector in BaseSourceTask::start(). This is the
  root cause of DBZ-6213 as EmbeddedEngine calls start() and assumes
  it really tries to start the connector.
* Simplify the code by removing unnecessary checks.
2023-08-08 10:27:33 +02:00
Jiri Pechanec
e5ca8c5000 DBZ-6684 Use more descriptive class name 2023-08-08 10:22:10 +02:00
harveyyue
b16d991a25 DBZ-6684 Rename back fields with avro_unicode 2023-08-08 10:22:10 +02:00
tyrantlucifer
32d2bf1fac DBZ-6745 Remove redundant filter logic from SingleProcessor 2023-08-03 16:52:41 +02:00
mfvitale
524987227f DBZ-6566 Shutdown blockingSnapshotExecutor when ChangeEventSourceCoordinator stops 2023-08-03 09:22:24 +02:00
mfvitale
61651a94b5 DBZ-6566 Force blocking snapshot even if a snapshot has already executed 2023-08-03 09:22:24 +02:00
mfvitale
def7379a0d DBZ-6566 Support Blocking snapshot for MySQL 2023-08-03 09:22:24 +02:00
mfvitale
6e0b323e83 DBZ-6566 Set correct log context during blocking snapshot 2023-08-03 09:22:24 +02:00
mfvitale
70f16af7c4 DBZ-6566 Support Blocking snapshot for PostgreSQL 2023-08-03 09:22:24 +02:00
jcechace
699a1612ae DBZ-6670 Replace error handler instead of recreate in order to keep retry counter 2023-07-25 13:46:56 +02:00
mfvitale
8ea2b3c5b7 DBZ-6669 Snapshot will get data when only signal data collection table is specified 2023-07-24 10:02:13 -04:00