Commit Graph

226 Commits

Author SHA1 Message Date
Renato Mefi
82bd0bb657 DBZ-988 Test all Array Update operators
As in the official documentation:
https://docs.mongodb.com/v3.6/reference/operator/update-array/#update-operators

The operations: `$(update)`, `$[]` and `$[<identifier>]` are skipped
since the're Mongo 3.6+ only.
2019-01-07 13:42:40 +01:00
Renato Mefi
6fc010867e DBZ-988 Test all Bitwise Update operators
As in the official documentation:
https://docs.mongodb.com/v3.6/reference/operator/update/bit/#bit
2019-01-07 13:42:40 +01:00
Renato Mefi
20cc350891 DBZ-988 Test all Field Update operators
As in the official documentation:
https://docs.mongodb.com/v3.6/reference/operator/update-field/#field-update-operators
2019-01-07 13:42:40 +01:00
Renato Mefi
c43c9ecc54 DBZ-988 MongoDB unwrap Update operators base test 2019-01-07 13:42:40 +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
edec1c3090 DBZ-978 Added last event and captured tables metrics 2018-12-13 20:52:11 +01:00
Gunnar Morling
91b571059e DBZ-966 Making sure MongoDB connector can be stopped while awaiting initial sync delay 2018-12-13 14:29:54 +01:00
Grzegorz Kołakowski
e2942ab72a DBZ-966 Replace sleep with polling loop 2018-12-13 14:29:54 +01:00
Grzegorz Kołakowski
c5fac7d3b2 DBZ-966 Enable to delay initial snapshot in MongoDB connector 2018-12-13 14:29:54 +01:00
Renato Mefi
1f3791cea9 DBZ-1032 Test tombstones have a DELETE header 2018-12-11 13:50:42 +01:00
Renato Mefi
8d04aab6a4 DBZ-1032 Fix issue for tombstone operation headers
Since the bomstone has no value it's not possible to imply the header
from the message content, thus if the value is null we set the header to
DELETE
2018-12-11 13:50:42 +01:00
Gunnar Morling
5aeb589932 DBZ-848 Adding Tautvydas Januskevicius to COPYRIGHT.txt 2018-12-11 12:00:59 +01:00
Tautvydas Januskevicius
addf13ca06 DBZ-848 Removed explicit primary node change handling. It is handled by mongoDb driver internally. Explicit primary node change event handling was causing issue that no mongo events were read after primary change. This issue only happened when rs.stepDown(<time s>) was used on mongo node. 2018-12-11 12:00:59 +01:00
Renato Mefi
4ba3213338 DBZ-1020 Refactor UnwrapFromMongoDbEnvelope logic
Now it's easier to follow what makes an insert, update or delete within
the transformer, also reduced the amount of npath complexity by doing
early returns and certain extractions.
2018-12-07 09:16:36 +01:00
Renato Mefi
8d8ef26dae DBZ-563 MongoDB Unwrapper tests for "delete.handling.mode" 2018-11-30 12:06:18 +01:00
Renato Mefi
fcef819dc8 DBZ-563 MongoDB Unwrapper supports "delete.handling.mode" 2018-11-30 12:06:18 +01:00
Renato Mefi
de7c065b43 DBZ-971 Mongo Unwrap can add data operation header 2018-11-30 12:06:18 +01:00
Renato Mefi
4b0a84f587 DBZ-971 Ensure Mongo unwrap propagates headers 2018-11-30 12:06:18 +01:00
Renato Mefi
312b976c0d DBZ-563 Test MongoDB Unwrapper tombstone drop 2018-11-30 12:06:18 +01:00
Renato Mefi
0d6236c8d8 DBZ-563 Support tombstone drop on MongoDB Unwrapper 2018-11-30 12:06:18 +01:00
Renato Mefi
16ba3764e5 DBZ-989 Support tombstone on MongoDB unwrapper 2018-11-30 12:06:18 +01:00
Renato Mefi
488dfe4f72 DBZ-989 Provide test for the bug confirmation 2018-11-30 12:06:18 +01:00
Renato Mefi
b2aed1f46e DBZ-987 Allow to processes full document updates 2018-11-30 12:06:18 +01:00
Renato Mefi
c540391db2 DBZ-987 Test Full Document replacement
As documented here:
https://docs.mongodb.com/manual/reference/method/db.collection.update/#replace-a-document-entirely
Mongo supports full document updates, currently the Unwrap expects the
operation to always be a patch update, this test proves the bug to be
patched in the next commits.
2018-11-30 12:06:18 +01:00
Renato Mefi
df738a2abd DBZ-612 Support MongoDB CDC full $unset operation
Mongo internally transforms everything into $set and $unset operations
when they are in the oplog, this guarantees that you can have operations
which are $set, $unset or combined.
2018-11-30 12:06:18 +01:00
Renato Mefi
d44a44aee5 DBZ-612 Test Mongo CDC multiple $set operations 2018-11-30 12:06:18 +01:00
Renato Mefi
7a4e1c48f1 DBZ-612 Transform $unset into null values 2018-11-30 12:06:18 +01:00
Renato Mefi
6e115043ca DBZ-612 Support mongo NULL type
Since we can't trace back the original value since mongo is a
schema-less storage we fallback to string as strategy.
2018-11-30 12:06:18 +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
Renato Mefi
13dfa8d9bf DBZ-974 Pair mongo-initiator with Server version
Avoiding client and servers mismatches, that's outside of debezium scope
to test whether the user has this sort of version mismatch.
2018-11-16 06:58:09 +01:00
Renato Mefi
beb069fc9d DBZ-974 Replace Mongo deprecations for count usage
As in
http://mongodb.github.io/mongo-java-driver/3.8/javadoc/deprecated-list.html
2018-11-16 06:58:09 +01:00
Renato Mefi
7c59023b9a Fix documentation for Mongo CDC encoding type 2018-11-12 11:47:18 +01: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
Jiri Pechanec
d933c150ad DBZ-928 NULL field values are not put into struct 2018-10-04 09:24:04 +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
bf6b2827c8 DBZ-784 Correct condition for stopped running projection 2018-09-18 13:12:21 +02:00
Gunnar Morling
6f0d11cc64 DBZ-784 Changing var name 2018-09-18 09:55:43 +02:00
Jiri Pechanec
a459c2cc4d DBZ-784 Terminate execute loops during shutdown 2018-09-18 09:54:46 +02:00
jchipmunk
6e9e803e73 DBZ-633 Changes of field.renames format. Misc improvements.
* Changing field.renames delimiter from equal to colon character
* Adding examples of source document structure to tests
* Adding tests for case: two renames have the same target field
* Adding missing return
* Changing Path interface to abstract class
2018-09-14 12:54:11 +02:00
Gunnar Morling
aac24b1ed1 DBZ-633 Misc. improvements around FieldSelector;
* Adding some comments
* Adding missing return
* More expressive names
* Formatting
2018-09-14 12:54:11 +02:00
jchipmunk
b93551f977 DBZ-881 Adding "field.renames" property for MongoDB connector
The "field.renames" configuration property is an optional comma-separated list of the fully-qualified replacements of fields that should be used to rename fields in change event message values. Fully-qualified replacements for fields are of the form "databaseName.collectionName.fieldName.nestedFieldName=newNestedFieldName", where "databaseName" and "collectionName" may contain the wildcard (*) which matches any characters, the equal character (=) is used to determine rename mapping of field.
2018-09-14 12:54:11 +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
jchipmunk
e9ef4f9068 DBZ-908 Removing obsolete config parameters: DATABASE_LIST_NAME and COLLECTION_LIST_NAME 2018-09-13 12:21:29 +02:00
Gunnar Morling
e1bbbd7992 DBZ-865 DBZ-878 Replacing invalid topic name characters with "_"; 2018-09-05 12:56:53 +02:00
Gunnar Morling
72925a3060 DBZ-838 Formatting 2018-07-27 20:33:45 +02:00
jchipmunk
6c18a81faa DBZ-838 Adding condition to interrupt initial sync if task is stopped 2018-07-26 19:53:27 +03: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
a5b5e7d9eb DBZ-627 Using unfified TopicSelector for MongoDB, too 2018-07-18 12:36:07 +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
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
Gunnar Morling
e1cf34dc43 DBZ-713 Extracting constaint for expected exception message 2018-07-03 14:41:47 +02:00
Gunnar Morling
c5f9d99644 DBZ-713 Adding overload of execute() that returns a result;
This simplifies interaction with execute(), as we don't need to alter collections, references as a side effect but instead can work with the return value.
2018-07-03 14:41:47 +02:00
Gunnar Morling
d6b897f43d DBZ-713 Applying database and collection filters within MongoPrimary;
This protects against authorization failures when listing collections
from DBs the connector user isn't authorized for. It also simplifies
usage of MongoPrimary#databaseNames() and collections() as consumers
don't need to apply filtering themselves.
2018-07-03 14:41:47 +02:00
Gunnar Morling
d72d3fcbc9 DBZ-782 Propagating authorization failures 2018-07-03 14:41:47 +02:00
Jiri Pechanec
d4c9d24b22 DBZ-779 Detect mongo replicator init completion 2018-07-03 12:24:06 +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
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
d7e196a18e DBZ-20 Initial import of Oracle connector based on XStream 2018-06-20 13:05:37 +02:00
echo.xu
15f622f823 DBZ-712. ignore initsync offset during connector start. 2018-06-20 10:41:46 +02:00
Gunnar Morling
3f20c8d8cc DBZ-561 Using less confusing server name in tests 2018-06-11 11:40:15 +02:00
Gunnar Morling
abe7863c28 DBZ-561 More consistent element ordering 2018-06-11 11:40:15 +02:00
Gunnar Morling
bb35d5e4bc DBZ-561 Adjusting test after rebase 2018-06-11 11:40:15 +02:00
Jiri Pechanec
4698dd2745 DBZ-561 Support nested updates 2018-06-11 11:40:15 +02:00
Sairam Polavarapu
4b67b14304 DBZ-561 Provided option to flatten structs in MongoDB unwrapping SMT. 2018-06-11 11:40:15 +02:00
Jiri Pechanec
32d591d392 DBZ-649 Use Avro-compatible field naming 2018-06-05 10:33:40 +02:00
Jiri Pechanec
d1488a7c48 DBZ-650 Fix test 2018-06-05 10:33:39 +02:00
Jiri Pechanec
3eb034f035 DBZ-649 Encoding arrays as struct 2018-06-05 09:57:19 +02:00
Jiri Pechanec
e00dc3beb4 DBZ-649 Graceful failures for heterogenous arrays 2018-06-05 09:57:19 +02:00
Jiri Pechanec
aa5581b524 DBZ-650 Fix the test breaking the build 2018-06-04 14:58:42 +02:00
Gunnar Morling
d556fca852 DBZ-650 Expanding test 2018-05-30 15:27:30 +02:00
Jiri Pechanec
972068129c DBZ-650 Add names to unwrapped MongoDB schemas 2018-05-30 15:02:38 +02:00
Jiri Pechanec
6e1e5f40ce Protect UnwrapFromMongoDbEnvelopeTestIT from inconsistent snapshot 2018-05-15 09:50:54 +02:00
Jiri Pechanec
232e7acde5 DBZ-680 Integration test for MongoDB unwrap SMT 2018-04-13 11:39:34 +02:00
Jiri Pechanec
3e9489741d DBZ-529 Upgrade to MongoDB 3.6, compatibility testing 2018-03-29 15:47:59 +02:00
Saulius Valatka
31c29459f7 DBZ-672 do not use cursor with no timeout 2018-03-29 14:47:57 +02:00
Saulius Valatka
a78c52cbdd DBZ-672 stop tailing the oplog when replicator is stopped 2018-03-29 14:47:57 +02:00
Jenkins user
f4e151b23a [maven-release-plugin] prepare for next development iteration 2018-03-20 08:14:19 +00:00
Jenkins user
93b3252332 [maven-release-plugin] prepare release v0.7.5 2018-03-20 08:14:19 +00:00
Jiri Pechanec
40a527b6ea DBZ-592 Make snapshot/init-sync false instead of null 2018-03-19 13:19:34 +01:00
Jiri Pechanec
2a35eae178 DBZ-648 InterrupedException handled by MongoDB 2018-03-09 20:43:57 +01:00
Jenkins user
daf27207be [maven-release-plugin] prepare for next development iteration 2018-03-07 08:31:07 +00:00
Jenkins user
9c73774928 [maven-release-plugin] prepare release v0.7.4 2018-03-07 08:31:07 +00:00
Gunnar Morling
eef1ad7c2a DBZ-630 Refactoring around MongoDB task context;
* Renaming ConnectorTaskContext to CdcSourceTaskContext
* Renaming ReplicationContext to MongoDbTaskContext
* Making relationship from MongoDbTaskContext to ConnectionContext has-a instead of is-a
2018-02-21 12:04:41 +01:00
Gunnar Morling
bb12e521f8 DBZ-630 Pulling up getClock() to ConnectorTaskContext 2018-02-21 12:04:41 +01:00
Gunnar Morling
8264c20cf6 DBZ-630 Unifying common start-up logic across connectors 2018-02-21 12:04:41 +01:00
Gunnar Morling
7fe45db831 DBZ-626 Renaming AvroValidator to SchemaNameAdjuster;
Making apparent that this functionality doesn't solely validate but returns a new name actually
2018-02-20 09:26:47 +01:00
Gunnar Morling
69df7c4ade DBZ-628 Using common properties for MongoDB connector 2018-02-20 06:34:42 +01:00
Jenkins user
6d0cd88e12 [maven-release-plugin] prepare for next development iteration 2018-02-15 04:15:34 +00:00
Jenkins user
7d1e1a989e [maven-release-plugin] prepare release v0.7.3 2018-02-15 04:15:34 +00:00
Jiri Pechanec
93259e8e11 DBZ-581 Simplified monitor thread shutdown 2018-02-13 14:40:54 +01:00
Jiri Pechanec
dbac1429b2 DBZ-581 Improve error handling for replicators 2018-02-13 14:40:54 +01:00