Commit Graph

1213 Commits

Author SHA1 Message Date
Erdinç Taşkın
681f2a7c43 [optimization] Simplify binlog validation conditions 2022-11-29 14:17:49 +01:00
Erdinç Taşkın
9f0224526a Remove nested if check
Simplify to flow. 
- Remove nested if check
- Postpone possible unused stamement which is connection.isBinlogRowImageFull()
2022-11-29 14:17:49 +01:00
Erdinç Taşkın
77e1cfc9a8 [optimization] Remove unnecessary null check
Remove Unnecessary null checks
2022-11-29 14:09:50 +01:00
Erdinç Taşkın
07d93497fe [optimization] Remove Unreachable if statement
if statement never will be true
2022-11-23 12:35:45 +01:00
Anisha Mohanty
5c2c0f54be DBZ-5836 COMMENT string for CREATE_USER & ALTER_USER clause 2022-11-23 08:46:12 +01:00
ggaborg
73691db6b1 DBZ-4720 fix mysql tls test 2022-11-22 14:46:55 +01:00
harveyyue
21fddc8515 DBZ-5843 Invalid Java object for schema with type FLOAT64: class java.lang.Float 2022-11-21 11:21:49 -05:00
Vojtech Juranek
0510102db5 DBZ-2131 Don't skip Avro validation
Original issue seems to be resolved, at least don't with with Avro
validation.
2022-11-09 08:44:45 +01:00
harveyyue
e6f0551451 DBZ-5801 The merge method of configuration is not work 2022-11-08 14:19:51 +01:00
harveyyue
6ba46b97cb DBZ-5790 Enhance the ability to sanitize topic name 2022-11-03 15:45:54 +01:00
jcechace
740715e2ee DBZ-5779 Migrated debezium-connector-mysql to AssertJ 2022-11-02 08:50:26 +01:00
Chris Cranford
dc5de5ae87 DBZ-5760 Only log full row data at TRACE level 2022-10-26 08:13:34 +02:00
harveyyue
a37d3332df DBZ-5610 MySQL Connector capture TRUNCATE command as message in table topic 2022-10-20 08:57:28 +02:00
harveyyue
299f93afd7 DBZ-5709 The DDL_FILTER of SchemaHistory doesn't work for including break lines ddl statement 2022-10-14 09:21:40 +02:00
Jochen Schalanda
45ec33c17b DBZ-5724 Add PRIMARY as keyword to MySQL grammar to fix index hints
Index hints using the primary index (`USE INDEX(PRIMARY)`) are currently
failing because `PRIMARY` is missing from the list of keywords in the
ANTLR-based MySQL parser.

According to https://dev.mysql.com/doc/refman/8.0/en/keywords.html#keywords-8-0-detailed-P,
`PRIMARY` is a reserved keyword.

Index hints: https://dev.mysql.com/doc/refman/8.0/en/index-hints.html
2022-10-14 08:35:53 +02:00
harveyyue
0cbd14e67f DBZ-5728 MySqlSchemaMigrationIT runs failed 2022-10-14 07:20:24 +02:00
Vojtech Juranek
73f056df85 DBZ-5710 Remove whitelist/blacklist from log messages 2022-10-11 15:30:28 +02:00
Jiri Pechanec
99dff302f1 DBZ-5612 Support for formatted messages 2022-10-04 13:45:43 +02:00
rajdangwal
58ab632ea3 DBZ-5612 log records only at trace level 2022-10-04 13:45:43 +02:00
rajdangwal
c03bcf8606 DBZ-5612 Remove records from being logged at all levels 2022-10-04 13:45:43 +02:00
harveyyue
f6b72f060c DBZ-5671 Remove logic name parameter from sub connector config 2022-10-03 11:40:17 -04:00
Sergei Morozov
e4d46c81b1 DBZ-5541: Default Debezium schema.name.adjustment.mode to "none" 2022-09-29 09:47:25 +02:00
harveyyue
d1153e8ad4 DBZ-5594 Clean up "logical name" config 2022-09-22 14:29:37 +02:00
Sergei Morozov
1a4cb1458a DBZ-5630: Unquote double quotes from default values on MySQL 2022-09-22 13:24:36 +02:00
harveyyue
f341724fa9 DBZ-5623 DDL Parsing Error 2022-09-20 17:18:57 -04:00
harveyyue
288c93434f DBZ-5585 Remove classloader parameter from JdbcConnection 2022-09-19 17:15:29 +02:00
harveyyue
665edab844 DBZ-5589 Mysql connector can't handle the case sensitive of rename/change column statement 2022-09-13 09:36:25 +02:00
Vojtech Juranek
acc6be6df3 DBZ-5043 Move TOPIC_PREFIX into CommonConnectorConfig
`TOPIC_PREFIX` is now mandatory to all connectors therefore it make
sense to have it in common config. Beside that, it also makes it more
easy to use it in Debezium UI without any workarounds - if the field is
not member of the given connector config, the field has to be
explicitely added into known fields otherwise is invisible for UI.
2022-09-13 09:25:54 +02:00
Jiri Pechanec
c928f7a99e DBZ-5587 Formatting; add contributor 2022-09-08 13:31:04 +02:00
Hang Ruan
3477d53d47 DBZ-5587 fix default value parser when default value containing COLLATE 2022-09-08 13:31:04 +02:00
Anisha Mohanty
9fd204b383 DBZ-5044 Introduce respective SchemaFactory for all connectors 2022-09-08 10:35:20 +02:00
Anisha Mohanty
cfd0242e28 DBZ-5044 Sort imports & fix test failures 2022-09-08 10:35:20 +02:00
Anisha Mohanty
91ccb7578f DBZ-5044 Centralize datatype schemas 2022-09-08 10:35:20 +02:00
Vojtech Juranek
402df78381 DBZ-5043 Rename schema.history to schema.history.internal 2022-09-07 12:57:31 +02:00
Vojtech Juranek
b797201263 DBZ-5043 Rename DB_HISTORY_PATH to SCHEMA_HISTORY_PATH 2022-09-07 12:57:31 +02:00
Vojtech Juranek
b6c31f3da5 DBZ-5043 Replace 'database history' with 'database schema history'
Reflect renaming database history to schema history in comments,
configuration descriptions and log and error messages.
2022-09-07 12:57:31 +02:00
Vojtech Juranek
0494a16a79 DBZ-5043 Rename DatabaseHistory to SchemaHistory
Rename also all related classes and varibales.
2022-09-07 12:57:31 +02:00
Vojtech Juranek
0823cedf25 DBZ-5043 Replace database.server.name with topic.prefix 2022-09-07 12:57:31 +02:00
Vojtech Juranek
161a7229b6 DBZ-5043 Use topic prefix as the logical name
With this change the user cannot direcly set connector logical name and
thus in the future it can be remove without breaking user config.
If the turn out that the logical name is useful and user should be able
to configure it, dedicated config option can be added.

Originally it was prposed in the Jira to replace it with connector name,
but it turned out that logical name defaults to `database.server.name`
and is heavily used in the tests and JMX, so it would require another
big refactoring. Thus, use topic prefix for now. Once we know further
direction (remove logical name or add new option), do this refactoring.
2022-09-07 12:57:31 +02:00
Vojtech Juranek
a7a293c5c8 DBZ-5043 Move driver pass-through parameters into dedicated namespace
Currently we mix database parameters like DB hostname, username or
password with other JDBC driver parameters which are passed to JDBC
driver as it is. Move these pass-through parameters into dedicated
namespace `driver.*` to separate them from common database parameters.
JDBC parameters which are defined on the connector level still stay
in `database` namespace.
2022-09-07 12:57:31 +02:00
Vojtech Juranek
5d1b72e95f DBZ-5043 Simplify code after renaming database.history namespace
Filtering `database.history` namespace from pass-through parameters is now
not needed as it doesn't interfere with other `database.*` parameters.
2022-09-07 12:57:31 +02:00
Vojtech Juranek
25aa6c4acc DBZ-5043 Change namespace to database.history to schema.history 2022-09-07 12:57:31 +02:00
harveyyue
58f4d3d912 DBZ-5480 Augment a uniqueness key filed/value in regex topic naming strategy 2022-09-06 14:58:57 +02:00
harveyyue
f4c7b52451 DBZ-5538 Unclear validation error when required field is missing 2022-09-05 10:35:55 +02:00
ggaborg
244de2bd96 DBZ-3293 Add signal table automatically to include list 2022-09-01 20:16:47 +02:00
Jiri Pechanec
de53591dba DBZ-5244 Retry all communication exceptions by default 2022-08-31 09:45:09 -04:00
druud
06c254b98f [docs] Typos in MySqlUnsignedIntegerConverter.java
Just fixed some typos.
2022-08-31 09:05:46 +02:00
pkgonan
b031770300 DBZ-5544 Support BASE64_URL_SAFE in BinaryHandlingMode 2022-08-24 09:50:23 +02:00
tjwornjs
c09d26c5b4 DBZ-5489 fix test case 2022-08-24 09:46:01 +02:00
tjwornjs
cb4bbc0bec DBZ-5489 using value from MySqlConnectorConfig 2022-08-24 09:46:01 +02:00
tjwornjs
484a4390aa DBZ-5489 add test 2022-08-24 09:46:01 +02:00
harveyyue
0308a1cbb6 DBZ-5535 Disable preferring DDL before logical schema in history recovery 2022-08-23 14:16:35 +02:00
kate
88924d708e DBZ-2766 Fix GtidSet subtraction 2022-08-23 13:43:41 +02:00
kate
c52f2ffa6a DBZ-2766 Replace guava range with intervals 2022-08-23 13:43:41 +02:00
Sergei Morozov
1c99437890 DBZ-5470: Remove the dependency of JdbcConnection on DatabaseSchema 2022-08-19 11:06:59 +02:00
Chris Cranford
b7e2112603 DBZ-5497 Align test behavior 2022-08-19 11:05:29 +02:00
debjeetsarkar
b824c138db DBZ-2663 | Updated with checkstyle fixes.
More Ref:
https://debezium.zulipchat.com/#narrow/stream/302533-dev/topic/Handling.20Transaction.20Payload.20Events.20for.20Mysql/near/289650440
https://github.com/osheroff/mysql-binlog-connector-java/pull/76#issuecomment-1185629635
2022-08-17 10:22:23 +02:00
debjeetsarkar
f41474847d DBZ-2663 | Update mysql binlog connector library and add support for TRANSACTION PAYLOAD EVENT.
More Ref:
https://debezium.zulipchat.com/#narrow/stream/302533-dev/topic/Handling.20Transaction.20Payload.20Events.20for.20Mysql/near/289650440
https://github.com/osheroff/mysql-binlog-connector-java/pull/76#issuecomment-1185629635
2022-08-17 10:22:23 +02:00
Vivek Wassan
d89e71ebeb DBZ-5327 Smart Backfills 2022-08-17 10:05:55 +02:00
Chris Cranford
fcb845024f DBZ-5483 Fix testStopSnapshotKafkaSignal random failure 2022-08-08 15:55:56 -04:00
Chris Cranford
f8e67e3ff9 DBZ-5453 Add stop-snapshot MySQL read-only Kafka signal 2022-08-04 16:16:42 -04:00
Vojtech Juranek
2c505c08f5 DBZ-4727 Add Kafka based pause/resume signals
Add pause and resume snapshot signals. See previous commit for more
details. These signal do the same, but are used by read-only MySQL
where sending signals is done by sending Kafka messages.
2022-07-29 12:41:58 -04:00
Vojtech Juranek
3968b6b75f DBZ-4727 Intorduce KafkaSignal interface
In the follow-up commit signal for pause and resume snapshot will be
added. Intorduce `KafkaSignal` interface which would server as general
kafka-based signal.
2022-07-29 12:41:58 -04:00
Vojtech Juranek
c7d8353d7b DBZ-4727 Add snapshot paused JXM metrics
Add two JXM objects:
* `snapshotPaused` - detemines if the incremental snapshot is paused
  or not
* `snapshotPausedDurationInSeconds` - overall time when the incremental
  snapshot was paused. The time adds up - if the snapshot was paused
  e.g. two times, the `snapshotPausedDurationInSeconds` is the sum of
  these two paused times.
2022-07-29 12:41:58 -04:00
harveyyue
5f430f1a8e DBZ-5457 Deprecate legacy topic selector for all connectors 2022-07-28 12:58:59 -04:00
harveyyue
8d76ba217f DBZ-5333 Caused by: java.io.EOFException: Failed to read next byte from position 2005308603 2022-07-26 11:10:29 -04:00
harveyyue
9683b0fa77 DBZ-5424 Verify the unique index whether including function or arbitrary expression 2022-07-20 14:38:25 +02:00
harveyyue
7730610320 DBZ-5425 Remove the duplicated SimpleDdlParserListener from mysql connector 2022-07-20 14:35:34 +02:00
Chris Cranford
f412c2e6a4 DBZ-5396 Add support for connector-specific relational model attributes 2022-07-19 15:41:02 -04:00
Vojtech Juranek
5315dbd9cb DBZ-5047 Remove setting last snapshot event in MySQL connector
MySQL connector sets last snapshot event twice - the first time during
the streaming and the second time in
`MySqlSnapshotChangeEventSource.postSnapshot()` [1]. Remove setting the
last snapshot event during the streaming and keep it only in one place
in `postSnapshot()` method.

[1] https://github.com/debezium/debezium/blob/v2.0.0.Alpha3/debezium-connector-mysql/src/main/java/io/debezium/connector/mysql/MySqlSnapshotChangeEventSource.java#L563
2022-07-19 11:19:52 +02:00
Vojtech Juranek
109c3d1e0d DBZ-5047 Remove deprecated unused method from SourceInfo 2022-07-19 11:19:52 +02:00
harveyyue
77c7db163d DBZ-5414 Validate topic naming strategy relative topic name properties 2022-07-18 09:58:51 -04:00
harveyyue
6ea7abc8fc DBZ-4180 Pluggable topic selector 2022-07-13 14:45:25 +02:00
Jiri Pechanec
d8baac7c46 DBZ-5229 Reorganize code for inheritance use 2022-07-12 17:31:19 +02:00
Hossein Torabi
1ea02be9c2 DBZ-5229 define centralized and modular aproach for debezium storage 2022-07-12 17:31:19 +02:00
Jiri Pechanec
2a14e2fff7 DBZ-5343 Skip test for MySQL 8 2022-07-11 12:12:26 +02:00
harveyyue
35bd0107ce DBZ-5343 Unsigned tinyint conversion fails for MySQL 8.x 2022-07-11 12:12:26 +02:00
harveyyue
7ba7929d7e DBZ-5386 Missing "previousId" property with parsing the rename statement in kafka history topic 2022-07-11 07:44:14 +02:00
Mickael Maison
5ff71aa992 DBZ-5335 Fix formatting issues in the connectors configdefs 2022-06-30 09:35:54 +02:00
Mike Kamornikov
cd84fb17ed DBZ-5291: Fix binlog filename comparison 2022-06-28 06:08:59 +02:00
harveyyue
20dc353262 DBZ-5170 Mysql Commit Timestamp 2022-06-27 15:50:52 +02:00
harveyyue
638076a899 DBZ-5267 Invalid date 'SEPTEMBER 31' 2022-06-24 16:27:46 +02:00
Chris Cranford
0bbf6e811c DBZ-5251 Align DefaultValueListener usage across enter/exit handlers 2022-06-24 11:31:08 +02:00
Chris Cranford
3fb5bf1339 DBZ-4451 Introduce SchemaChangeEvent factory methods 2022-06-16 09:19:41 +02:00
Chris Cranford
863abcd081 DBZ-4451 Store previous table id in alter schema change events
When a table is renamed with the ALTER TABLE statement, the schema
history record not only will reference the current table's unique id
in the "id" metadata, but will also refer to the old table name in
the "previousId" metadata field.
2022-06-16 09:19:41 +02:00
Chris Cranford
20bb2adea5 DBZ-4834 Fix incremental snapshot of table added to include list 2022-06-16 08:39:16 +02:00
harveyyue
f6a04e2db8 DBZ-5236 Cannot convert field type tinyint(1) unsigned to boolean 2022-06-13 14:42:20 +02:00
Jiri Pechanec
db52977626 DBZ-5241 More specific pattern 2022-06-13 14:23:12 +02:00
Chris Cranford
93af38c189 DBZ-5241 Parse character set introducers on default values 2022-06-13 14:23:12 +02:00
Jiri Pechanec
48072682c6 DBZ-5201 Handle expression in DEFAULT as NULL 2022-06-08 13:33:10 +02:00
Vojtech Juranek
4a48eb33df DBZ-5045 Remove legacy V1 source info 2022-06-08 09:11:00 +02:00
Vojtech Juranek
ef8d7f7af7 DBZ-5045 Remove deprecated OBSOLETE_NAME_FOR_SKIP_FAILURE_HANDLING option value 2022-06-08 09:11:00 +02:00
Vojtech Juranek
1edab1d1a5 DBZ-5045 Remove deprecated MySQL GTID_NEW_CHANNEL_POSITION option 2022-06-08 09:11:00 +02:00
Vojtech Juranek
b0b3066ed5 DBZ-5045 Remove deprecated COLUMN_BLACKLIST 2022-06-08 09:11:00 +02:00
Vojtech Juranek
b3a6131cee DBZ-5045 Remove deprecated DATABASE_BLACKLIST 2022-06-08 09:11:00 +02:00
Vojtech Juranek
0cbb57f4bf DBZ-5045 Remove deprecated DATABASE_WHITELIST 2022-06-08 09:11:00 +02:00
Vojtech Juranek
f84893a8b4 DBZ-5045 Remove deprecated SCHEMA_BLACKLIST 2022-06-08 09:11:00 +02:00
Vojtech Juranek
261188482f DBZ-5045 Remove deprecated SCHEMA_WHITELIST 2022-06-08 09:11:00 +02:00
Vojtech Juranek
6abbcee6a3 DBZ-5045 Remove deprecated TABLE_BLACKLIST 2022-06-08 09:11:00 +02:00
Vojtech Juranek
db08e894fc DBZ-5045 Remove deprecated TABLE_WHITELIST 2022-06-08 09:11:00 +02:00