Commit Graph

681 Commits

Author SHA1 Message Date
Gunnar Morling
99caad60d8 DBZ-1040 Changing resolution of "lag behind source" to milli-seconds;
Also using Duration/Instant types internally.
2019-02-04 12:39:07 +01:00
Gunnar Morling
913e0bc5c8 DBZ-1040 Making metadata provider a member of Metrics instead of passing it for each onEvent() call 2019-02-04 12:39:07 +01:00
Jiri Pechanec
a621e43d8b DBZ-1040 Expose transaction id 2019-02-04 12:39:07 +01:00
Jiri Pechanec
213d4a42ca DBZ-1040 Metrics for internal queue 2019-02-04 12:39:07 +01:00
Jiri Pechanec
d993ee265e DBZ-1040 Metrics for lag behind source, offset and tx count 2019-02-04 12:39:07 +01:00
jchipmunk
ff4e38cc46 DBZ-1112 Strings.join() doesn't apply conversation for first element
Replace:
- Integer.parseInt() to Integer.valueOf()
- Short.parseShort() and new Short() to Short.valueOf()
- Long.parseLong() to Long.valueOf()
2019-01-30 09:36:09 +01:00
Gunnar Morling
dd01d26d16 DBZ-1113 Pulling up test to MySqlDdlParserTest;
* Adding Joy Gao to COPYRIGHT.txt
* Typo fix
2019-01-30 09:22:05 +01:00
Joy Gao
030cf9ac14 DBZ-1113 allow adding multiple partitions in a single statement 2019-01-30 09:22:05 +01:00
Jenkins user
c5b7d21d3e [maven-release-plugin] prepare for next development iteration 2019-01-28 11:07:04 +00:00
Jenkins user
f1ae79ff73 [maven-release-plugin] prepare release v0.9.0.CR1 2019-01-28 11:07:04 +00:00
Gunnar Morling
ccff79e07d DBZ-1105 Removing TableImpl#columnNames field 2019-01-28 10:23:56 +01:00
Gunnar Morling
c9c84afc9d DBZ-1099 Don't enque further records after request to stop 2019-01-25 10:19:19 +01:00
Gunnar Morling
95a13b5dd7 DBZ-1062 Fix MySQL trustStore password setting 2019-01-24 17:38:42 +01:00
Moira Tagle
01c779fb62 DBZ-175 Setting completed GTIDs in the final binlog reader context in setupUnifiedReader() 2019-01-24 10:43:44 +01:00
Moira Tagle
0e10c4af48 DBZ-175 Modifying BinlogReaderMetrics to take in the BinlogReader name 2019-01-24 10:43:44 +01:00
Gunnar Morling
884f2f40ea DBZ-175 Adding toString() for readers 2019-01-24 10:43:44 +01:00
Gunnar Morling
206cd06c24 DBZ-175 Using passed filters instead of rebuilding them in MySqlSchema 2019-01-24 10:43:44 +01:00
Gunnar Morling
ed4787bc8a DBZ-175 Misc. clean-up;
* Removing unused code (constructor, method and return value)
* Making ParallelSnapshotReader logger static
* Making RecordMakers#restartOffset final; avoiding unchecked cast
2019-01-24 10:43:44 +01:00
Gunnar Morling
965b789dab DBZ-175 Misc. adjustments;
* Dedicated functional interface for halting predicates
* Using semantic temporal types
* Typo fixes
* Exposing SnapshotNewTables through connector config
* Static loggers
* Adding Moira to COPYRIGHT.txt
2019-01-24 10:43:44 +01:00
Moira Tagle
a6d791cd8c DBZ-175 Initial implementation for support to whitelist/blacklist changes;
* The filter config is stored in offsets now, allowing to detect changes
to the config after a connector restart
* In that case, roughly the following steps are done:
- set up a binlog reader for the "old" tables
- set up a snapshot reader for the "new" tables
- if the snapshot is done, set up a binlog reader for the new tables
- if both binlog readers are in proximity of the logs head, stop them
and set up a single binlog reader for all tables
* That behavior is disabled by default for the purposes of testing and
can be enabled via new connector option "snapshot.new.tables"
* To facilitate connector restarts while whitelist/blacklist changes are
processed, separate restart offsets are added to the offsets
2019-01-24 10:43:44 +01:00
Jiri Pechanec
a638d5599b DBZ-1064 Use geometry instead of point for empty 2019-01-16 13:01:36 +01:00
Jiri Pechanec
ceb6c62721 DBZ-1064 Remove lazy fallback values 2019-01-16 13:01:36 +01:00
Jiri Pechanec
536e517c08 DBZ-1064 Geometry default value changes; fixes for default suppliers 2019-01-16 13:01:36 +01:00
Jiri Pechanec
bff7eea734 DBZ-1064 Use convert value template 2019-01-16 13:01:36 +01:00
Jiri Pechanec
920e0cbd3f DBZ-1064 Set default value only for non-nullable fields 2019-01-16 13:01:36 +01:00
Amit Sela
b0b7d942a3 DBZ-1073 Adding scale as schema parameter, if present 2019-01-11 15:40:30 +01:00
Grzegorz Kołakowski
91c72738c0 DBZ-1067 Add column blacklist field to RelationalDatabaseConnectorConfig 2019-01-09 18:13:26 +01:00
Gagan Agrawal
aff45c7dc6 DBZ-1063 Fixed schema parsing bug for handling unsigned max default value 2019-01-09 17:50:18 +01:00
Jiri Pechanec
03570a1a3a DBZ-1059 Support qualified table name in rename 2019-01-04 12:57:55 +01:00
Jenkins user
5275f73424 [maven-release-plugin] prepare for next development iteration 2018-12-19 13:06:12 +00:00
Jenkins user
b6569c18ae [maven-release-plugin] prepare release v0.9.0.Beta2 2018-12-19 13:06:12 +00:00
Jiri Pechanec
9fcc25e4c5 DBZ-688 Uncommitted TX with temp tables are not stored in binlog in MySQL 8 2018-12-18 15:42:15 +01:00
LiuHanlin
c58031582d DBZ-1033 Mysql binlog reader lost data if restart task when last binlog event is QUERY event.
https://issues.jboss.org/browse/DBZ-1033
Reset restartEventsToSkip each time updating the restartBinlogPosition.
2018-12-17 13:42:01 +01:00
Gunnar Morling
1258beae55 DBZ-688 Moving differences related solely to geo-spatial test into the test class itself 2018-12-14 10:39:05 +01:00
Jiri Pechanec
c8f09f110b DBZ-688 Centralize MySQL differences in a single file 2018-12-14 10:39:05 +01:00
Jiri Pechanec
3c1da7d5d4 DBZ-688 Robust identification of geom collection type 2018-12-14 10:39:05 +01:00
Jiri Pechanec
12083452a5 DBZ-688 CURRNT_TIMESTAMP handled differently by MySQL 8 2018-12-14 10:39:05 +01:00
Jiri Pechanec
994f1b6e03 DBZ-688 Update geometry handling 2018-12-14 10:39:05 +01:00
Jiri Pechanec
8b83df82b5 DBZ-688 Ignore differences in generated metadata 2018-12-14 10:39:05 +01:00
Jiri Pechanec
974731b0ae DBZ-688 Support for test execution on MySQL 8 server 2018-12-14 10:39:05 +01:00
Jiri Pechanec
edec1c3090 DBZ-978 Added last event and captured tables metrics 2018-12-13 20:52:11 +01:00
Grzegorz Kołakowski
2a1934eeb1 DBZ-966 Make snapshot.delay.ms global property 2018-12-13 14:29:54 +01:00
Gunnar Morling
0075bbb17e DBZ-1028, DBZ-992 Expanding test 2018-12-12 23:05:29 +01:00
Jiri Pechanec
946d5c113d DBZ-1028 Literal "CSV" is not a special token 2018-12-12 23:05:07 +01:00
Jiri Pechanec
f3a87a039f DBZ-1008 Process first GTID after failover 2018-12-12 16:52:53 +01:00
Jiri Pechanec
edb116677d DBZ-960 Handle TX closing safely 2018-12-11 14:15:53 +01:00
Jiri Pechanec
2b2ff0754d DBZ-960 Run SnapshotReader in a single transaction 2018-12-11 14:15:53 +01:00
Gunnar Morling
68b6bc2efe DBZ-977 Adding log statement 2018-12-11 14:12:23 +01:00
Jiri Pechanec
6a88309f0e DBZ-977 ALTER TABLE filters works even for stored DDL 2018-12-11 14:12:23 +01:00
Jiri Pechanec
c5ecff4be6 DBZ-1005 Detect GTID by database setting not GTID set 2018-11-30 11:58:07 +01:00
Jiri Pechanec
415830003a DBZ-1016 Fix expected records count 2018-11-30 11:18:47 +01:00
Jiri Pechanec
2c3d2ee083 DBZ-1010 Handle error deserialization also in deserializers 2018-11-30 11:09:30 +01:00
Jiri Pechanec
9c81e54b9d DBZ-1006 Guard against NPE when start() fails 2018-11-23 16:13:50 +01:00
Gunnar Morling
62fe7d1ee7 DBZ-604 Making sure connector cleanly shuts down also if records are produced after polling loop has stopped 2018-11-23 14:36:05 +01:00
Gunnar Morling
2fd16a6bc0 DBZ-923 Misc. clean-up;
* Exposing new option via MySqlConnectorConfig
* Formatting
* Using GtidSet type in signatures
* Adding new option to configDef() and ALL_FIELDS
2018-11-22 10:54:10 +01:00
Eero Koplimets
972c08fcda fix checkstyle errors 2018-11-22 09:50:46 +01:00
Eero Koplimets
3e1eaef318 fix GTID_NEW_CHANNEL_POSITION description 2018-11-22 09:50:46 +01:00
Eero Koplimets
268101acd5 Change config from boolean to enum 2018-11-22 09:50:46 +01:00
Eero Koplimets
8844442459 DBZ-923 config to use earliest available gtid set from mysql server when connecting 2018-11-22 09:50:46 +01:00
Jenkins user
db1d3a7fb8 [maven-release-plugin] prepare for next development iteration 2018-11-20 16:15:14 +00:00
Jenkins user
f83db82cea [maven-release-plugin] prepare release v0.9.0.Beta1 2018-11-20 16:15:14 +00:00
Jiri Pechanec
b7e7bfa218 DBZ-990 Engine names can be quoted 2018-11-19 14:30:21 +01:00
Jiri Pechanec
530e2190a8 DBZ-757 Use antlr parser by default 2018-11-16 14:17:47 +01:00
Gunnar Morling
6bd4024618 DBZ-776 Misc. improvements;
* Renaming getTimeSinceLastEvent() to getMilliSecondsSinceLastEvent()
* Further unifying metrics implementation across connectors
* Emitting event in EventDispatcher also if event is filtered out
* Typo fixes
2018-11-16 08:52:07 +01:00
Gunnar Morling
818d5e4696 DBZ-776 Misc. clean-up 2018-11-16 08:52:07 +01:00
Jiri Pechanec
4510e2bbe6 DBZ-776 Cleanup after review 2018-11-16 08:52:07 +01:00
Gunnar Morling
360714a5a1 DBZ-776 Formatting and minor clean-up 2018-11-16 08:52:07 +01:00
Jiri Pechanec
b44c9fd04f DBZ-776 A first set of metrics implemented in new framework 2018-11-16 08:52:07 +01:00
Jiri Pechanec
4cdc3e669b DBZ-776 Extract metrics to a common code 2018-11-16 08:52:07 +01:00
Gunnar Morling
9994172860 DBZ-953 Pulling decimal mode handling up to RelationalDatabaseConnectorConfig;
Also using it in MySQL connector.
2018-11-08 09:23:28 +01:00
Jiri Pechanec
a5ff561deb DBZ-959 ADD PARTITION needs parenthesis 2018-11-02 07:14:42 +01:00
s0r01ed
fdab3386d4 DBZ-780 | Adding RENAME column semantics to rename a column 2018-10-24 20:20:04 +02:00
Deepak Barr
bc0712e240 DBZ-935 Error while parsing json column type for MySQL 2018-10-11 11:40:18 +02:00
Jenkins user
d952f5dfb0 [maven-release-plugin] prepare for next development iteration 2018-10-04 11:59:14 +00:00
Jenkins user
ff9b70278b [maven-release-plugin] prepare release v0.9.0.Alpha2 2018-10-04 11:59:13 +00:00
Deepak Barr
4aaed1fd2b DBZ-927 Gracefully handling invalid default values for timestamp fields 2018-10-04 10:30:56 +02:00
jchipmunk
3ec0b3be81 DBZ-918 Moving connector identifier from SourceInfo to Module class 2018-10-04 09:00:13 +02:00
jchipmunk
05ba99bb0a DBZ-918 Adding Debezium connector field to source info
This will allow consumers to recognize the Debezium connector used for creating a given message, helping them to adjust their behavior for a variety of connectors.
2018-10-04 09:00:13 +02:00
Jiri Pechanec
3b51818864 DBZ-910 Verify also anonymous CONSTRAINT CHECK 2018-09-18 15:51:46 +02:00
Jiri Pechanec
3c5a67856b DBZ-910 Improve support for CHECK constraint 2018-09-18 15:51:46 +02:00
Jiri Pechanec
6fe48b7764 DBZ-769 Try to release table locks during exception 2018-09-18 10:49:48 +02:00
jchipmunk
b0feaf496a DBZ-633 Adding "field.blacklist" property for MongoDB connector
The "field.blacklist" configuration property is an optional comma-separated list of the fully-qualified names of fields that should be excluded from change event message values. Fully-qualified names for fields are of the form "databaseName.collectionName.fieldName.nestedFieldName", where "databaseName" and "collectionName" may contain the wildcard (*) which matches any characters.

Although the "field.blacklist" configuration property allows you to remove fields from the event values, the "_id" field is always included in the event’s key.
2018-09-14 12:54:11 +02:00
Jiri Pechanec
e6b28eeea4 DBZ-903 Support function named DATABASE() 2018-09-13 16:17:50 +02:00
Jiri Pechanec
8dd8327826 DBZ-901 Handle default date/time values without micros 2018-09-13 15:47:00 +02:00
Gunnar Morling
e1bbbd7992 DBZ-865 DBZ-878 Replacing invalid topic name characters with "_"; 2018-09-05 12:56:53 +02:00
Cliff Wheadon
685f72f988 DBZ-880 MySQLConnectorTask no longer always reports finding the binlog 2018-08-28 08:56:52 +02:00
Jiri Pechanec
ce0b3cc940 DBZ-872 Use converters in parser tests 2018-08-24 08:12:54 +02:00
Jiri Pechanec
2cbc35dac7 DBZ-877 Process newly added columns 2018-08-24 08:12:54 +02:00
Gunnar Morling
985999b4af DBZ-872 Making MySqlAntlrDdlParser#tableFilter final 2018-08-24 08:12:54 +02:00
Jiri Pechanec
63ee65bb7d DBZ-872 Honor filters in ALTER TABLE parsing 2018-08-24 08:12:54 +02:00
Jiri Pechanec
29af79057b DBZ-859 Test for MySQL heartbeat 2018-08-23 11:44:53 +02:00
Jiri Pechanec
985e03e7b5 DBZ-859 Force heartbeat after snapshot completion 2018-08-23 11:44:53 +02:00
Rao
49214491a7 DBZ-763 Correcting the JDBC driver class 2018-08-23 11:31:37 +02:00
Gunnar Morling
414ebe5f13 DBZ-870 Adding test 2018-08-23 11:19:27 +02:00
Jiri Pechanec
99ab131910 DBZ-870 Accept zero as valid date/time value 2018-08-23 11:19:27 +02:00
Jiri Pechanec
26b82c88bd DBZ-860 DBZ-869 Enable default value tests for antlr parser 2018-08-23 11:19:27 +02:00
Jiri Pechanec
e9f9e4eb8f DBZ-860 Fix for primary keys with default value 2018-08-23 11:19:27 +02:00
Jiri Pechanec
7e0639f733 DBZ-864 Add support for CHARSET database option 2018-08-22 13:31:34 +02:00
Gunnar Morling
207f1896ab DBZ-763 Cleaning up tests 2018-08-22 11:54:55 +02:00
Rao
d13ea932f7 DBZ-763 Upgrading Mysql driver to version 8.0.12 2018-08-22 11:54:55 +02:00
Gunnar Morling
3862083756 DBZ-860 Expanding test 2018-08-20 19:01:55 +02:00
Jiri Pechanec
c2f014750e DBZ-860 Handle implicitly NOT NULL PKs 2018-08-20 19:01:32 +02:00
PengLv
3d978d717b fix gitd bug
method isGtidModeEnabled when to check gtid mode ,it'll always be true
2018-08-14 09:46:16 +02:00
artiship
bb4ecc79e0 DBZ-849 Refact read mysql system variables methods 2018-08-14 09:43:49 +02:00
artiship
cdb6d7301c DBZ-855 Make BinlogReader.informAboutUnknownTableIfRequired log with tableId 2018-08-14 08:41:30 +02:00
Jenkins user
e00dad127f [maven-release-plugin] prepare for next development iteration 2018-07-26 08:00:12 +00:00
Jenkins user
16bfd5c700 [maven-release-plugin] prepare release v0.9.0.Alpha1 2018-07-26 08:00:12 +00:00
Gunnar Morling
3061c1dc0b DBZ-815 Passing offset to Heartbeat#heartbeat();
That's simpler to grasp than the approach of passing a supplier lambda to the constructor.
Also it allows to pass on the offset via local variables instead of instance fields in some cases.
2018-07-25 14:49:52 +02:00
Jiri Pechanec
0e35439019 DBZ-40 Snapshotting and connector restart 2018-07-18 14:39:11 +02:00
Gunnar Morling
20db9299c5 DBZ-627 Unifying TopicSelector implementations 2018-07-18 12:36:07 +02:00
Gunnar Morling
1523f230ca DBZ-793 Using TableFilter consistently;
Only the MySQL connector's Filters class still uses Predicate for the time being, so to avoid to much merging trouble with DBZ-175.
2018-07-11 13:16:44 +02:00
Jenkins user
f9b8d830a8 [maven-release-plugin] prepare for next development iteration 2018-07-11 07:36:30 +00:00
Jenkins user
290ded678f [maven-release-plugin] prepare release v0.8.0.Final 2018-07-11 07:36:29 +00:00
Peter Goransson
448330fd07 DBZ-789 Expose more granular snapshot metrics via JMX 2018-07-09 12:30:41 +02:00
Jenkins user
033db6659d [maven-release-plugin] prepare for next development iteration 2018-07-04 07:07:44 +00:00
Jenkins user
696f35f2c0 [maven-release-plugin] prepare release v0.8.0.CR1 2018-07-04 07:07:44 +00:00
Jiri Pechanec
d4c9d24b22 DBZ-779 Detect mongo replicator init completion 2018-07-03 12:24:06 +02:00
Gunnar Morling
9d52614b79 DBZ-771 Adding test for changing column type and default value 2018-07-03 11:55:20 +02:00
Gunnar Morling
99048365c9 DBZ-771 Unsetting default value when changing a column's type 2018-07-03 11:55:20 +02:00
Gunnar Morling
dcd6b01134 DBZ-644 Simplifying RelationalDatabaseSchema constructor;
Also retrieving logical name via CommonConnectorConfig#getLogicalName() in more places
2018-07-03 07:03:59 +02:00
Gunnar Morling
068aa85bd6 DBZ-644 Misc. clean-up and tests;
* Using parameter keys under "__debezium" namespace
* More expressive names
* Adding tests
2018-07-03 07:03:59 +02:00
Gunnar Morling
8744488c8a DBZ-644 Unifying retrieval of ColumnMappers in RelationalDatabaseSchema 2018-07-03 07:03:59 +02:00
orr.ganani
747184c572 DBZ-644 add JDBC data type as additional metadata to DBZ events, if configuration is opted in 2018-07-03 07:03:59 +02:00
Gunnar Morling
c4c8cbc3ab DBZ-773 Moving management of Tables to RelationalDatabaseSchema 2018-06-29 09:09:10 +02:00
Gunnar Morling
bbfbdf6fab DBZ-773 Moving management of table schemas to RelationalDatabaseSchema 2018-06-29 09:09:10 +02:00
Gunnar Morling
90a453b0ee DBZ-768 Checking boolean flag just once 2018-06-28 10:14:01 +02:00
Jiri Pechanec
b4b1f6976b DBZ-768 Fix formatting. Behaviour not dependent on a timezone 2018-06-28 07:24:09 +02:00
Jiri Pechanec
741debe18e DBZ-768 Default values with variable second fractions 2018-06-28 06:17:41 +02:00
Gunnar Morling
a3f42610ff DBZ-751 Adding tests for NUMERIC columns 2018-06-27 14:48:59 +02:00
Gunnar Morling
0600ccf213 DBZ-751 Incorporating review remarks;
* Expanding test
* Extracting constant for parameter key in tests
2018-06-27 14:48:59 +02:00
Gunnar Morling
a292b05a96 DBZ-751 Propagating DECIMAL column precision to Avro schemas 2018-06-27 14:48:59 +02:00
Jiri Pechanec
d61db8930d DBZ-770 Typename comparison should not be case dependent 2018-06-27 11:37:58 +02:00
Jiri Pechanec
ca6b1c9168 DBZ-743 Empty password for PostgreSQL and MySQL 2018-06-27 11:18:19 +02:00
Gunnar Morling
9d05fc2dc5 DBZ-767 Typo fix 2018-06-27 10:34:00 +02:00
Gunnar Morling
20f622dc40 DBZ-767 Adjusting test to more closely match original report 2018-06-27 10:33:41 +02:00
Jiri Pechanec
84f8bfb070 DBZ-767 Column should not be renamed when name is not changed 2018-06-27 09:14:59 +02:00
Jiri Pechanec
c14693c4ec DBZ-765 Reduce the amount of test prints 2018-06-25 10:45:46 +02:00
Gunnar Morling
bf7a5018ca Setting POM version back to 0.8.0-SNAPSHOT 2018-06-22 12:21:03 +02:00
Jenkins user
db42e4657a [maven-release-plugin] prepare for next development iteration 2018-06-21 14:07:45 +00:00
Jenkins user
c4b8ecaa99 [maven-release-plugin] prepare release v0.8.0.Beta1 2018-06-21 14:07:45 +00:00
Gunnar Morling
f5629d9f0b DBZ-578 Interpret DATETIME columns using UTC;
This partly reverts the work previously done for DBZ-578,
where DATETIME columns (logical date + time values without TZ)
were shifted using the database's (or connection's) time zone.
Instead, the DATETIME values are interpreted using UTC again
with this change.
2018-06-20 15:58:19 +02:00
Gunnar Morling
42e313284a DBZ-20 Adjustment after rebase 2018-06-20 13:05:37 +02:00
Gunnar Morling
b83f1493a2 DBZ-20 Avoiding Optional as method parameter 2018-06-20 13:05:37 +02:00
Gunnar Morling
dce1aa29f1 DBZ-20 Oracle precision supports negative numbers 2018-06-20 13:05:37 +02:00
Gunnar Morling
603f02e70d DBZ-20 Excluding generated sources from CheckStyle 2018-06-20 13:05:37 +02:00
Gunnar Morling
d7e196a18e DBZ-20 Initial import of Oracle connector based on XStream 2018-06-20 13:05:37 +02:00
Gunnar Morling
5b1807b286 DBZ-734 Avoiding repetition of option name and default value 2018-06-18 09:51:01 +02:00
Jiri Pechanec
ec03b431c9 DBZ-734 Maven profile for testing old/new DDL parser 2018-06-18 06:02:29 +02:00
Gunnar Morling
9eb4b90ec9 DBZ-191 Adding record validations 2018-06-15 20:23:17 +02:00
Gunnar Morling
84dd36df46 DBZ-252 Misc typo fixes and clean-up 2018-06-15 16:43:30 +02:00