Commit Graph

685 Commits

Author SHA1 Message Date
Debezium Builder
ad2efdb9a6 [maven-release-plugin] prepare release v1.0.0.CR1 2019-12-10 06:39:17 -05:00
Chris Cranford
c32b771e1b DBZ-1413 Fix format violation 2019-12-10 10:09:35 +01:00
Chris Cranford
19fd8dd1d9 DBZ-1413 Resolve column length/scale when reading table column metadata from TypeRegistry 2019-12-10 10:09:35 +01:00
Chris Cranford
372d199a71 DBZ-1413 Revert AbstractColumnValue changes in commit 774f2ed 2019-12-10 10:09:35 +01:00
Chris Cranford
365eb0d76e DBZ-1413 Suggested Javadoc changes, added/fix tests, changed how Column native/jdbc type resolution happens 2019-12-10 10:09:35 +01:00
Chris Cranford
9685990fb8 DBZ-920 Add support for PostgreSQL enum types 2019-12-10 10:09:35 +01:00
Chris Cranford
46de58ae75 DBZ-1413 Updated tests 2019-12-10 10:09:35 +01:00
Chris Cranford
ef9b4a7431 DBZ-1413 Delay building type hierarchy after all base types built 2019-12-10 10:09:35 +01:00
Chris Cranford
547ba8e0db DBZ-1413 Align domain type support across all 3 decoders 2019-12-10 10:09:35 +01:00
Chris Cranford
9586be7d4e DBZ-1413 Support PostgreSQL domain types 2019-12-10 10:09:35 +01:00
Thomas Deblock
17e44d4c0c DBZ-1648 outbox EventRouter remove topic toLowerCase
- kafka topics names are case sensitive. We should not perform
  a toLowerCase on the topic name. It can cause some issue if
  topic name have a upper case
2019-12-04 21:39:25 +01:00
Jiri Pechanec
d471f2f6ab DBZ-1637 Support for UUID array 2019-11-28 09:06:23 +01:00
Brandon Brown
a0f7f6ec6b DBZ-1402 Support for JDK 11 2019-11-25 11:53:19 +01:00
Jiri Pechanec
a56ab78b3f DBZ-825 Unify decimal upscaling 2019-11-20 18:23:55 +01:00
Debezium Builder
38279cc2dd [maven-release-plugin] prepare for next development iteration 2019-11-14 02:56:07 -05:00
Debezium Builder
868faf4412 [maven-release-plugin] prepare release v1.0.0.Beta3 2019-11-14 02:56:07 -05:00
David Feinblum
2b9fbcd5f6 DBZ-1519 Avoid erroneously logging there are no monitored tables 2019-11-14 05:44:37 +01:00
Chris Cranford
95927de405 DBZ-1596 Fix open resources while initializing publication 2019-11-08 12:55:24 +01:00
Jiri Pechanec
d693609779 DBZ-1570 handle null toasted values for wal2json 2019-11-08 10:52:57 +01:00
Jiri Pechanec
4084e39256 DBZ-1595 New parameter takes precedence over old 2019-11-08 07:57:06 +01:00
Jiri Pechanec
54cb9e8326 DBZ-1595 Use dots as separator in param name 2019-11-08 07:57:06 +01:00
Jeremy Finzel
c2f27cdb23 DBZ-1559 Change snapshot lock level to ACCESS SHARE
This is the correct mode that only prevents concurrent schema changes, while not requiring debezium user to also have UPDATE access to tables as does SHARE UPDATE EXCLUSIVE mode
2019-11-05 11:54:52 +02:00
Chris Cranford
244ee9dc5c DBZ-1576 Gracefully skip TRUNCATE messages with pgoutput decoder on PG11+ 2019-11-05 09:24:08 +02:00
Gunnar Morling
2c569977d7 DBZ-1392 Applying formatter;
* Keeping indentation formatting for JSON


Co-authored-by: Gunnar Morling <gunnar.morling@googlemail.com>
Co-authored-by: Chris Cranford <chris@hibernate.org>
2019-11-01 13:20:43 +02:00
Addison Higham
b1b657b8bd [DBZ-1579] Fix regression of large refreshes causing connection timeout
In DBZ-1214, an issue was fixed where during the initial schema refresh,
the replication stream connection would timeout. This occurred in cases
of many schemas that need to be refreshed.

This was fixed by adding a keep alive thread that ensure that we
periodically send an empty update to the DB.

It appears that in the refactor to move the new shared interface, the
call to this keep alive thread was removed, but the remaining keep alive
interface still exists

This simply wires the keep alive thread back up
2019-10-29 18:27:55 +01:00
Debezium Builder
b08f523ed7 [maven-release-plugin] prepare for next development iteration 2019-10-24 07:42:49 -04:00
Debezium Builder
8ecd9e28cf [maven-release-plugin] prepare release v1.0.0.Beta2 2019-10-24 07:42:49 -04:00
Jiri Pechanec
097025bed9 DBZ-1336 Fix imports of Ltree 2019-10-22 08:07:54 +03:00
Gunnar Morling
e06d25dd92 DBZ-1336 Moving Ltree type to PG connector module 2019-10-21 12:17:08 +02:00
Mincong HUANG
1e3eb8c840 DBZ-1336 Support Postgres LTREE columns 2019-10-21 12:10:46 +02:00
Jiri Pechanec
0b15e76d2a DBZ-1525 Validate replication slot name 2019-10-20 22:16:29 +02:00
Jiri Pechanec
d858e05bf6 DBZ-1564 Close TX after toasted query 2019-10-19 20:46:22 +03:00
Grant Cooksey
5ab5b4063d DBZ-1564 Close open transaction during postgres streaming
After the schema refesh, we do not want to hold a long running open transaction
since that is expensive.
2019-10-19 20:46:22 +03:00
Jiri Pechanec
06ef4b6a95 DBZ-1565 Take empty messages into consideration 2019-10-18 13:53:53 +03:00
Jiri Pechanec
986dc4ef3a DBZ-1565 Test the log message 2019-10-18 13:53:53 +03:00
Gunnar Morling
4ea85d7fd3 DBZ-1565 Raise warning about growing WAL backlog 2019-10-18 13:53:53 +03:00
Debezium Builder
519dc011ff [maven-release-plugin] prepare for next development iteration 2019-10-17 04:20:13 -04:00
Debezium Builder
51ef6b9470 [maven-release-plugin] prepare release v1.0.0.Beta1 2019-10-17 04:20:12 -04:00
Grant Cooksey
18ca6ec72e DBZ-1546 Comma-separated regular expressions remove whitespace.
The table whitespace parameter should remove whitespace between regular expressions
since tables cannot start with whitespace characters.
2019-10-17 10:13:44 +03:00
Jiri Pechanec
bba550f955 DBZ-892 Flush on empty messages 2019-10-16 00:54:54 +02:00
Jiri Pechanec
6d8412e5de DBZ-1401 Support for pgoutput 2019-10-10 09:37:52 +02:00
Jiri Pechanec
f77415936f DBZ-1401 Fix formatting 2019-10-10 09:37:52 +02:00
Jiri Pechanec
7c4203cf60 DBZ-1401 Handle tables without explicit PK 2019-10-10 09:37:52 +02:00
Chris Cranford
4205a224d6 DBZ-1532 Pgoutput string decoding should not rely on JVM default charset 2019-10-09 14:35:25 +02:00
Jiri Pechanec
cf7eccb152 DBZ-1498 Docs added; microseconds changed to numeric; nanos supported 2019-10-09 12:14:35 +02:00
Jiri Pechanec
20363f24bb DBZ-1498 Support for precise interval value 2019-10-09 12:14:35 +02:00
Gunnar Morling
92885ebe99 DBZ-1392 Removing trailing whitespace from Java files 2019-10-07 12:11:43 +03:00
Gunnar Morling
8d6f5409b1 DBZ-1392 Moving static imports up and applying this to all files 2019-10-07 12:11:43 +03:00
Chris Cranford
3594ff639a DBZ-1341 Rebased against master and applied necessary checkstyle fixes 2019-10-03 19:44:43 +02:00
Chris Cranford
ca5517746a DBZ-1341 Checkstyle flag missing whitespace 2019-10-03 19:44:43 +02:00
Chris Cranford
7442670692 DBZ-1355 Fix checkstyle problems detected after upgrade to 8.19 2019-10-03 19:44:43 +02:00
Chris Cranford
5ac2318d84 DBZ-1391 Do not allow code after closing brace (#1065)
* DBZ-1391 Do not allow code after closing brace
2019-10-02 20:44:40 +02:00
Jiri Pechanec
f868cb87c0 DBZ-1280 Lock timeout for SQL Server 2019-10-02 10:34:25 +02:00
Gunnar Morling
d94b37c693 DBZ-1507 Misc. clean-up;
* Removing unused Table methods
* Re-using primaryKeyColumnNames() instead of custom predicate
2019-10-02 10:25:37 +02:00
Debezium Builder
2ff77b993b [maven-release-plugin] prepare for next development iteration 2019-10-01 15:34:23 -04:00
Debezium Builder
e09d584b11 [maven-release-plugin] prepare release v0.10.0.Final 2019-10-01 15:34:23 -04:00
Jiri Pechanec
22e8397e6d DBZ-1515 Add poll pause only after multiple no message attempts 2019-10-01 13:24:42 -04:00
Debezium Builder
2f5960c5d2 [maven-release-plugin] prepare for next development iteration 2019-09-27 01:03:50 -04:00
Debezium Builder
e3b44ffb12 [maven-release-plugin] prepare release v0.10.0.CR2 2019-09-27 01:03:50 -04:00
Gunnar Morling
2fba51863e DBZ-1015 Unifying the retrieval of custom key mappers 2019-09-26 10:14:48 +02:00
Guillaume Rosauro
1405889bef DBZ-1015-allow-user-to-customize-key 2019-09-26 10:14:21 +02:00
Gunnar Morling
97cc493ef5 DBZ-1368 More expressive type name 2019-09-25 17:45:09 +02:00
Jiri Pechanec
0e2a79eba5 DBZ-1368 Change default toasted value 2019-09-25 17:24:21 +02:00
Jiri Pechanec
5bfe14ea66 DBZ-1368 Remove unnecessary optimizations 2019-09-25 17:24:21 +02:00
Jiri Pechanec
3c19a392ac DBZ-1368 Added documentation 2019-09-25 17:24:21 +02:00
Jiri Pechanec
4150d2d0e1 DBZ-1368 Added JavaDoc 2019-09-25 17:24:21 +02:00
Jiri Pechanec
c638b16117 DBZ-1368 Toast marker presence not derived from plguin name 2019-09-25 17:24:21 +02:00
Jiri Pechanec
6efd2a76fe DBZ-1368 Set new toasted vals from old 2019-09-25 17:24:21 +02:00
Jiri Pechanec
f19b4b15a7 DBZ-1368 Run with postgres dev image 2019-09-25 17:24:21 +02:00
Jiri Pechanec
29f6d9dd09 DBZ-1368 Support toasted placeholder in wal2json 2019-09-25 17:24:21 +02:00
Jiri Pechanec
9dd5a16160 DBZ-1368 Support toasted placeholder in protobuf 2019-09-25 17:24:21 +02:00
Gunnar Morling
ae0bf61bb4 DBZ-1367 Handling "datum_missing" marker 2019-09-25 17:24:21 +02:00
Jiri Pechanec
ab31147593 DBZ-1368 Support toasted placeholder in pgoutput 2019-09-25 17:24:21 +02:00
Gunnar Morling
442408be02 DBZ-1497 Using int64 for INTERVAL microseconds mapping 2019-09-25 11:21:40 +03:00
Jiri Pechanec
9b2fcdc13a DBZ-1438 Reduce test runtime 2019-09-24 12:51:48 +02:00
Jiri Pechanec
8f308746d3 DBZ-1438 Interrupt only after interrupt affected operations 2019-09-24 12:51:48 +02:00
Gunnar Morling
c2b66ef2d7 DBZ-1436 Referencing default publication name via constant 2019-09-23 20:36:40 +02:00
Chris Cranford
f446ce6ffd DBZ-1436 Fix postgres connector not honoring configured publication.name setting 2019-09-23 20:33:48 +02:00
Gunnar Morling
008ac7a7e4 DBZ-1426 Misc clean-up;
* Removing unused method parameters
* Formatting
* Using logger methods with argument placeholders
2019-09-23 11:34:18 +02:00
trolison
e5f77b3a32 DBZ-1426, DBZ-1427 Introducing retry if replication slot is already in use;
- Added PG connector config parameters for retry count and delay
- Added basic test for connection retry and delay logic
- Added a more clear error message when a PG connection cant be made and it has nothing to do with the schema registry (DBZ-1427)
- Updated documentation for the new connection retry parameters
2019-09-23 11:23:38 +02:00
Chris Cranford
130210b5ad DBZ-1044 Add config option sanitize.field.names and FieldNameSelector 2019-09-20 07:40:23 +03:00
Chris Cranford
b569c184da DBZ-1383 Fix PostgreSQL tests that fail intermittently 2019-09-17 11:19:17 +03:00
Chris Cranford
06c7621217 DBZ-1383 Fix PostgreSQL tests that fail intermittently
* Test dropping slot & publication before each test
2019-09-17 11:19:17 +03:00
Chris Cranford
278bbad8ae DBZ-1383 Revert commit 8e636685: Fix PostgreSQL tests that fail intermittently 2019-09-17 11:19:17 +03:00
Chris Cranford
fd6450442b DBZ-1383 Fix PostgreSQL tests that fail intermittently
* Introduced wait steps to OutboxEventRouterIT to check if the problem is timing related
2019-09-17 11:19:17 +03:00
Chris Cranford
37191ab713 DBZ-1383 Fix PostgreSQL tests that fail intermittently 2019-09-17 11:19:17 +03:00
Chris Cranford
022d0d07c8 DBZ-1383 Fix PostgreSQL tests that fail intermittently
* Only execute `DROP PUBLICATION` when using the PGOUTPUT logical decoder
2019-09-17 11:19:17 +03:00
Chris Cranford
99727dea76 DBZ-1383 Fix PostgreSQL tests that fail intermittently 2019-09-17 11:19:17 +03:00
Debezium Builder
9b7e09fdda [maven-release-plugin] prepare for next development iteration 2019-09-10 09:12:12 -04:00
Debezium Builder
a1c2861458 [maven-release-plugin] prepare release v0.10.0.CR1 2019-09-10 09:12:11 -04:00
Renato Mefi
c8c4266e34 DBZ-1457 Fix typo 2019-09-03 22:39:37 +02:00
Gunnar Morling
fe9fc1c0dc DBZ-1255 Adjustments after rebase 2019-08-21 07:50:40 +02:00
Gunnar Morling
08ef1418d9 DBZ-DBZ-1255 Preventing value overflows for TIMESTAMP;
* Generally avoiding conversion to nano-seconds to accomodate for larger values
* Generally avoiding the usage of long to convey temporal values internally:
 * Instant is used for TIMESTAMP
 * OffsetDateTime for TIMESTAMPTZ
 * Duration for TIME (LocalTime cannot be used as it doesn't support 24:00:00 as possible with Postgres)
 * OffsetTime for TIMETZ
* Avoiding usage of methods under test for calculating expected values in tests
2019-08-21 07:50:40 +02:00
Gunnar Morling
94eb75257b DBZ-1255 Using Instant for representing timestamps 2019-08-21 07:50:40 +02:00
Ivan Luzyanin
fd5841ab6d fix import 2019-08-21 07:50:40 +02:00
Ivan Luzyanin
fa10cc502d [DBZ-1255,DBZ-1205] Fix for parsing dates with year larger than 9999. Avoid using nonoseconds and parse the time directly to OffsetDateTime. 2019-08-21 07:50:40 +02:00
Chris Cranford
ef30b8a8cf DBZ-1419 Fix timing issue waiting for streaming to start 2019-08-20 18:43:03 +02:00
Chris Cranford
c6f6020da5 DBZ-777 Fix more timing issues with heartbeats 2019-08-20 18:43:03 +02:00
Jiri Pechanec
0e39965c0e DBZ-1419 Override time precision for MySQL 2019-08-20 18:43:03 +02:00
Jiri Pechanec
51c12d930d DBZ-1419 Support for Connect temporal types in SQL Server 2019-08-20 18:43:03 +02:00
Chris Cranford
8504f6aafd DBZ-1437 Fix InitialOnlySnapshotter to properly determine when to run a snapshot. 2019-08-19 22:01:32 +02:00
Chris Cranford
68f0bba7b3 DBZ-1437 Fix ExportedSnapshotter to properly determine when to run a snapshot. 2019-08-19 22:01:32 +02:00
Cyril Scetbon
e7dc1dfb62 DBZ-1440 Use ServerVersion values instead of integers 2019-08-19 14:25:53 -04:00
Cyril Scetbon
135e66dd0d DBZ-1440 Temporary replication slots on PG10+ only 2019-08-19 14:25:53 -04:00
Cyril Scetbon
4b5475391c DBZ-1440 Supports exported snapshots for Pg 9.4+ 2019-08-19 14:25:53 -04:00
Debezium Builder
4ae105bdce [maven-release-plugin] prepare for next development iteration 2019-08-16 03:42:55 -04:00
Debezium Builder
945ccf68cb [maven-release-plugin] prepare release v0.10.0.Beta4 2019-08-16 03:42:54 -04:00
Jiri Pechanec
9c25a192b7 DBZ-777 Fix timing issue with heartbeats 2019-08-16 08:05:48 +02:00
Jiri Pechanec
540021cf68 DBZ-777 Minor fixes 2019-08-15 20:43:31 +02:00
Jiri Pechanec
4d18c70834 DBZ-777 Make sure the empty events are generated while streaming 2019-08-15 20:43:31 +02:00
Gunnar Morling
5ffe8123f1 DBZ-777 Further fixes 2019-08-15 20:43:31 +02:00
Gunnar Morling
63250d0c13 DBZ-777 Misc. adjustments
* Avoiding repeated parsing of table id
* Making 'inconsistentSchemaHandler' field final in EventDispatcher
* Not exposing synchronizeTableSchema() on SPI level
2019-08-15 20:43:31 +02:00
Jiri Pechanec
780545d0d2 DBZ-777 Fix wal2json decoder 2019-08-15 20:43:31 +02:00
Jiri Pechanec
5307a5822d DBZ-777 Fix pgoutput decoder 2019-08-15 20:43:31 +02:00
Jiri Pechanec
de2345f87b DBZ-777 Fix wal2json decoder 2019-08-15 20:43:31 +02:00
Jiri Pechanec
037d581844 DBZ-777 Fix heartbeats 2019-08-15 20:43:31 +02:00
Jiri Pechanec
ffb7e6d7d8 DBZ-777 Assertions against internal schema 2019-08-15 20:43:31 +02:00
Jiri Pechanec
857d22bfda DBZ-777 Fix toasted cols test 2019-08-15 20:43:31 +02:00
Jiri Pechanec
8f08f2d505 DBZ-777 Remove unused code 2019-08-15 20:43:31 +02:00
Jiri Pechanec
d72afa8e9b DBZ-777 Skip empty messages 2019-08-15 20:43:31 +02:00
Jiri Pechanec
f4246df6e4 DBZ-777 PostgreSQL connector rewrite to the standard framework 2019-08-15 20:43:31 +02:00
Chris Cranford
89ae4b2151 DBZ-1436 Fix postgres connector not honoring publication.name configuration 2019-08-15 12:00:29 -04:00
Jiri Pechanec
8adb5e48ca DBZ-1385 Elevate payload for only headers setup 2019-08-12 10:36:52 +02:00
Jiri Pechanec
0991c70ac9 DBZ-1385 eventType can be configured as add field 2019-08-12 10:36:52 +02:00
Jiri Pechanec
c07c994434 DBZ-1381 Introduce permanent metadata connection 2019-08-09 11:53:45 +02:00
Chris Cranford
ae58b0b44c DBZ-1035 Checkstyle fixup 2019-07-29 15:49:18 +02:00
Chris Cranford
e852f082a2 DBZ-1035 Support PostgreSQL lock-free snapshot using exported snapshots 2019-07-29 15:49:18 +02:00
Jiri Pechanec
0742e5775f Revert "[maven-release-plugin] prepare release v0.10.0.Beta4"
This reverts commit c7340e5152.
2019-07-23 14:54:55 +02:00
Jiri Pechanec
f7d20635ce Revert "[maven-release-plugin] prepare for next development iteration"
This reverts commit 22879777e4.
2019-07-23 14:54:49 +02:00
Jiri Pechanec
22879777e4 [maven-release-plugin] prepare for next development iteration 2019-07-23 14:10:03 +02:00
Jiri Pechanec
c7340e5152 [maven-release-plugin] prepare release v0.10.0.Beta4 2019-07-23 14:10:02 +02:00
Debezium Builder
71333fda98 [maven-release-plugin] prepare for next development iteration 2019-07-23 02:55:08 -04:00
Debezium Builder
20d006fac7 [maven-release-plugin] prepare release v0.10.0.Beta3 2019-07-23 02:55:08 -04:00
Jiri Pechanec
81ba1a3adb DBZ-766 Remove autoboxing 2019-07-23 06:22:41 +02:00
Chris Cranford
2f92553d8f DBZ-766 Implement PgOutput logical decoding for Postgres 10+ 2019-07-23 06:22:41 +02:00
Jiri Pechanec
6a13b0e0b5 DBZ-1400 Record with same flush LSN should not be skipped for the first record 2019-07-22 14:17:59 -04:00
Gunnar Morling
0383f9178c DBZ-1238 Removing incorrect comment 2019-07-09 21:14:28 +02:00
Gunnar Morling
6aaa8b183c DBZ-1238 Simplifying logic 2019-07-09 21:14:28 +02:00
Gunnar Morling
bb8d7683e3 DBZ-1238 Avoiding explicit check for slot state;
This causes issues with PG 10 temporary slots which are always active.
The check isn't really needed anyways, because the server will raise an
exception itself when trying to connect to an already active slot.
2019-07-09 21:14:28 +02:00
Gunnar Morling
a2e0c7cd2a DBZ-1238 Misc. clean-up;
* Formatting, typo fixes
* Combining createReplicationSlot() and getSlotCreationResult()
* Removing unused field
2019-07-09 21:14:28 +02:00
Addison Higham
62328bf137 DBZ-1238 Expose more options to the PG Snapshot SPI
This commit adds some more options to the Postgres Snapshottter SPI
interface, specifically, the ability to create the query for the start
of a snapshot, as well as the ability to generate a statement to lock
the tables.

Additionally, some rework is done to allow for the usage of an exported
snapshot in conjuction with the SPI taking metadata about a newly
created slot. This also changes how slots are initialized to allow for
the exported snapshot to be referenced, which requires adding a more
granular setup of a ReplicationConnection

Together, these options allow for a lot more flexibility, such as not
taking locks when snapshotting large databases as well as potentially to
use exported snapshots.

A future version should perhaps make some options possible without
implementing the SPI (such as using the exported snapshot by default)
but this commit is just trying to get all the groundwork in place to
allow for the Snapshotter SPI to have this functionality.
2019-07-09 21:14:28 +02:00
Gunnar Morling
369f74d875 DBZ-1320 Addressing review remarks 2019-07-09 21:07:18 +02:00
Brandon Brown
efff4f0809 DBZ-1320 Adding support for deletion events via new configurable property route.tombstone.on.empty.payload 2019-07-09 21:07:18 +02:00
Gunnar Morling
50e3a02d4d DBZ-1371 README updates 2019-07-09 10:13:21 +02:00
Gunnar Morling
8c5d5021f4 DBZ-1371 Restoring original timeouts 2019-07-09 10:13:21 +02:00
Chris Cranford
faa31b079d DBZ-1371 Added link to RDS.md from README.md 2019-07-09 10:13:21 +02:00
Chris Cranford
bf248e6fb0 DBZ-1371 Update to PostgreSQL connector RDS document 2019-07-09 10:13:21 +02:00
Chris Cranford
af513c2732 DBZ-1371 Derive timeouts from configurable timeout 2019-07-09 10:13:21 +02:00
Chris Cranford
f88970f2e6 DBZ-1371 Fix formatting and typos in RDS documentation 2019-07-09 10:13:21 +02:00
Chris Cranford
051d5a478d DBZ-1371 Added RDS setup documentation for PostgreSQL 2019-07-09 10:13:21 +02:00