Commit Graph

1698 Commits

Author SHA1 Message Date
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
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
Jiri Pechanec
7354f7aa38 DBZ-7251 Enable fitering of MySQL connector 2023-12-19 17:29: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
Vojtech Juranek
37ebb8ecae DBZ-7275 Close connection registerd with bean registry
New connection created for bean registry is never closed. Close it
during when stopping the task.
2023-12-19 10:22:02 +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
22a22d65d1 DBZ-4321 Pull getQualifiedTableName up to AbstractConnectorConnection 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
gongzhongqiang
018ecfe9f6 [polish] remove redundant Geometry type checking code 2023-12-08 10:16:46 +01:00
mfvitale
f275b1172c DBZ-6834 Disable signal based watermarking tests on ReadOnlyIncrementalSnapshotIT 2023-12-06 14:10:26 +01:00
mfvitale
ee0a55a19c DBZ-6834 Disable signal based watermarking tests on ReadOnlyIncrementalSnapshotIT 2023-12-06 14:10:26 +01:00
Jiabao Sun
d740bf52dd DBZ-7230 MySQL BIT Type should have a default length 1 2023-12-06 07:15: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
Lourens Naude
ae25b3a11a DBZ-7183 Support MySQL 8 high resolution replication timestamps from GTID events 2023-11-30 20:30:12 -05:00
Lourens Naude
baa2ea1e0f DBZ-7183 Remove dead code: setBinlogTimestampSeconds and getBinlogTimestampSeconds 2023-11-30 20:30:12 -05:00
“vsantonastaso”
8c1c369449 DBZ-6878 add table specific notification in initial snapshot 2023-11-29 08:32:21 +01:00
rkerner
fe0b83e7fb DBZ-7179 Fix DebeziumMySqlConnectorResource not using the new MySQL adatper structure to support different MySQL flavors
closes to https://issues.redhat.com/browse/DBZ-7179
2023-11-24 07:15:08 +01:00
Chris Cranford
1ce4ebd668 DBZ-1482 Fix for mismatch source query during incremental snapshots 2023-11-23 13:54:53 +01:00
Chris Cranford
3c3bd504c8 DBZ-1482 Add some logging for test failure 2023-11-23 13:54:53 +01:00
Chris Cranford
b4790b36f3 DBZ-1482 Disable purged GTID tests for MariaDB - not applicable 2023-11-23 13:54:53 +01:00
Chris Cranford
8ca62c961c DBZ-1482 Fix read-only incremental snapshot failures 2023-11-23 13:54:53 +01:00
Chris Cranford
e722845717 DBZ-1482 Don't initiate a transaction for every MariaDB GTID event.
There are use cases where MariaDB will send a GTID event to start a
transaction but that event will not conclude with a COMMIT and in
those cases, don't start a buffer transaction boundary.
2023-11-23 13:54:53 +01:00
Chris Cranford
25a68ba3ef DBZ-1482 Fix MariaDB EventBuffer warnings 2023-11-23 13:54:53 +01:00
Chris Cranford
f5b0084216 DBZ-1482 Initial MariaDB GTID support 2023-11-23 13:54:53 +01:00
Chris Cranford
ebf940b1ad DBZ-1482 Add MariaDB gtid replica bits 2023-11-23 13:54:53 +01:00
Chris Cranford
1deb01fd33 DBZ-7083 Relax REST extension validation 2023-11-23 13:54:53 +01:00
Chris Cranford
1d6a1ec6c1 DBZ-7083 Introduce strategy for MySQL and MariaDB 2023-11-23 13:54:53 +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
Jiri Pechanec
31c343d00b DBZ-7093 Code formatting 2023-11-15 12:59:54 +01:00
nicholas-fwang
7051f35bdf DBZ-7093 fix checkstyle 2023-11-15 12:59:54 +01:00
nicholas-fwang
892dec2240 DBZ-7093 Check schema length to find missed DDL by SQL_BIN_LOG=OFF 2023-11-15 12:59:54 +01:00
Chris Cranford
74878523c7 DBZ-7135 Run MySQL CI configurations concurrently on GitHub 2023-11-13 19:16:57 -05: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
Chris Cranford
da9c2bfeb4 DBZ-7085 Fix default value handling in tests 2023-11-09 10:00:33 +01:00
Chris Cranford
2bff852174 DBZ-7085 Fix temporal reader MariaDB implementation 2023-11-09 10:00:33 +01:00
Chris Cranford
8ff03447e4 DBZ-7085 Implement simple MariaDB protocol field reader 2023-11-09 10:00:33 +01:00
Chris Cranford
35a536aefc DBZ-7085 Apply MariaDB unique fetchSize requirements
Per https://jira.mariadb.org/browse/CONJ-977, the MariaDB team does not
believe that the Integer.MIN_VALUE solution for triggering streaming is
spec compliant and as of MariaDB 3.x+ drivers, they explicitly will not
allow this.

This change explicitly sets the fetchSize to 1 to mimic the same style
of behavior that the default fetchSize uses when using MySQL. If a user
provides a custom fetchSize, that will take precedences.
2023-11-09 10:00:33 +01:00
Chris Cranford
b849effaf9 DBZ-7085 Add MariaDB and use it with MariaDB profile 2023-11-09 10:00:33 +01:00
Chris Cranford
0f4d2f2b1a DBZ-7085 Fix test suite to protocol-based factory URL 2023-11-09 10:00:33 +01:00
ani-sha
700942b258 DBZ-6874 Drop MySQL 5.7, test MySQL 8.0 & adjust documentation 2023-11-09 09:26:26 +01:00
ani-sha
16ab761bed DBZ-6873 Deprecate expire_logs_days, use binlog_expire_logs_seconds 2023-11-08 07:06:27 +01:00
ani-sha
e7a9430de3 DBZ-6873 Support MySQL 8.2 2023-11-08 07:06:27 +01:00
ani-sha
54be3bb663 DBZ-6873 Use percona server version 8.0 2023-11-08 07:06:27 +01:00
ani-sha
519c382153 DBZ-6873 Support MySQL 8.1 2023-11-08 07:06:27 +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
Chris Cranford
b9e4abdf06 DBZ-2913 Rearrange logging rules 2023-10-26 13:03:03 +02:00
Chris Cranford
0ab2d8d93c DBZ-2913 Add mariadb-ssl profile, fix init script execution order 2023-10-26 13:03:03 +02:00
Chris Cranford
a7989379c1 DBZ-2913 Add mariadb profile and GitHub check for MariaDB 2023-10-26 13:03:03 +02:00
Chris Cranford
cec5b67c5a DBZ-2913 Cleanup test suite connection leak 2023-10-26 13:03:03 +02:00
Chris Cranford
dcce6f61f5 DBZ-2913 Use new configurable MariaDB capabilities API 2023-10-26 13:03:03 +02:00
Chris Cranford
ef2e7b3c8f DBZ-2913 Disable JSON test, MariaDB handles JSON differnetly 2023-10-26 13:03:03 +02:00
Chris Cranford
af78ff3fb2 DBZ-2913 MariaDB image has SSL out of the box 2023-10-26 13:03:03 +02:00
Chris Cranford
42c9290038 DBZ-2913 Introduce SkipWhenDatabaseIs annotation 2023-10-26 13:03:03 +02:00
Chris Cranford
e3c98c47f7 DBZ-2913 Revert Align binlog client behavior to streaming source
The changes in this test were meant to remain local under the binlog
client new version was made available by the author.
2023-10-26 13:03:03 +02:00
Chris Cranford
e97f221bd3 DBZ-2913 Align binlog client behavior to streaming source 2023-10-26 13:03:03 +02:00
Chris Cranford
54f8f4636b DBZ-2913 Fix failure due to log verbosity change 2023-10-26 13:03:03 +02:00
Chris Cranford
1ed77cd2ed DBZ-2913 Reduce MySQL log verbosity 2023-10-26 13:03:03 +02:00
Chris Cranford
15ca23bff8 DBZ-2913 Fix GTID-based tests with no GTID enabled for MariaDB 2023-10-26 13:03:03 +02:00
Chris Cranford
ffe1824772 DBZ-2913 Fix binlog compression for MariaDB 2023-10-26 13:03:03 +02:00
Chris Cranford
f5313cd525 DBZ-2913 More various test fixes for MariaDB 2023-10-26 13:03:03 +02:00
Chris Cranford
498409dcb6 DBZ-2913 Fix more precision test failures 2023-10-26 13:03:03 +02:00
Chris Cranford
5069d78a02 DBZ-2913 Fix more precision test failures 2023-10-26 13:03:03 +02:00
Chris Cranford
3aeb84ace8 DBZ-2913 Fix some time precision failures
MySQL rounds precision up to match a column's precision when the precision is
smaller than the time value whereas MariaDB truncates by default. This can be
influenced on the MariaDB side by using `TIME_ROUND_FRACTIONAL` to avoid the
truncation.

In this commit, I've aligned the tests to MariaDB's default behavior.
2023-10-26 13:03:03 +02:00
Chris Cranford
b43a591419 DBZ-2913 Support MySQL and MariaDB image log init patterns 2023-10-26 13:03:03 +02:00
Chris Cranford
2a153cca62 DBZ-2913 Support binlog_annotate_row_events
MySQL supports an option called binlog_rows_query_log_events; however, MariaDB
supports a different option called binlog_annotate_row_events. This feature is
to add MariaDB's equivalent so that it acts the same as the original MySQL
option.
2023-10-26 13:03:03 +02:00
sean
6f04e9ce52 DBZ-7037 code-formatter 2023-10-25 10:48:10 +02:00
sean
a23f41a1b2 DBZ-7037 Fake Rotates Event skip tableMapEventByTableId clear
Fake Rotate Event
2023-10-25 10:48:10 +02:00
Roman Kudryashov
215f3098b7 DBZ-7016 Refactoring 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
cb093057c2 DBZ-7042 Use 8.0 in docs 2023-10-17 13:09:52 +02:00
ani-sha
07c1c0b0ad DBZ-7042 Use mysql server image tag for docker/oracle hub 2023-10-17 13:09:52 +02:00
ani-sha
a72a15fef6 DBZ-7042 Use oracle container registry for MySQL images 2023-10-17 13:09:52 +02:00
mfvitale
db4babbdb4 DBZ-7035 Remove wrong test log configuration 2023-10-17 11:28:53 +02:00
mfvitale
24f1c5322b DBZ-7035 MySqlStreamingChangeEventSource will effectively stop during blocking snapshot 2023-10-17 11:28: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
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
Roman Kudryashov
98c426dec4 DBZ-3642 CloudEventsConverter can retrieve metadata info from headers 2023-09-26 13:06:09 +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
b4661881c9 DBZ-6945 Remove Table object for DROP schema event 2023-09-21 13:32:38 +02:00
rkerner
6d3528d4fb DBZ-4395 Add connector specific Debezium Connect REST Extension/s and move logic from UI backend to the Debezium Connect REST Extension (part 2 of the re-architecturing/re-factoring)
DBZ-6761 Add "validate connection" endpoints in connector specific Connect REST extensions

closes to https://issues.redhat.com/browse/DBZ-4395
closes to https://issues.redhat.com/browse/DBZ-6761
2023-09-21 13:29:59 +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
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
harveyyue
fe300784b0 DBZ-6865 Avoid getting NPE when executing the arrived method in ExecuteSnapshot 2023-09-04 08:59:31 +02:00