Commit Graph

343 Commits

Author SHA1 Message Date
Jiri Pechanec
47bdbbcaad DBZ-5711 Prevent Quarkus from overriding driver version 2022-10-13 08:48:52 +02:00
Debezium Builder
884254aba1 [maven-release-plugin] prepare for next development iteration 2022-10-07 09:27:52 +00:00
Debezium Builder
a0f3263fa6 [maven-release-plugin] prepare release v2.0.0.CR1 2022-10-07 09:27:51 +00: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
Debezium Builder
218d414552 [maven-release-plugin] prepare for next development iteration 2022-09-16 06:36:40 +00:00
Debezium Builder
567f57c47b [maven-release-plugin] prepare release v2.0.0.Beta2 2022-09-16 06:36:39 +00:00
Vojtech Juranek
402df78381 DBZ-5043 Rename schema.history to schema.history.internal 2022-09-07 12:57:31 +02:00
Vojtech Juranek
0235d4aad5 DBZ-5582 Fix RedisDatabaseHistoryIT tests
`RedisSchemaHistoryIT` tests are not reliable as
`testDatabaseHistoryIsSaved` makes assumption about the number of
entries in the database history stream, while
`testRedisConnectionRetry` deletes whole stream at the beginning of
the test. If `testDatabaseHistoryIsSaved` is executed after
`testRedisConnectionRetry`, `testDatabaseHistoryIsSaved` starts to fail.

Don't delete the stream in `testRedisConnectionRetry` and introduce
constant with initial number of entries in the schema history stream.
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
25aa6c4acc DBZ-5043 Change namespace to database.history to schema.history 2022-09-07 12:57:31 +02:00
ggaborg
196d24f2be DBZ-4441 tests for default redis message format 'compact' 2022-09-06 06:21:58 +02:00
ggaborg
f97e30bfdb DBZ-4441 make 'compact' the default redis message format for backward compatibility 2022-09-06 06:21:58 +02:00
ggaborg
e500cad38f DBZ-4441 placeholders for messages 2022-09-06 06:21:58 +02:00
ggaborg
9243fae507 DBZ-4441 Redis Sink - Change the format of the message sent to the stream 2022-09-06 06:21:58 +02:00
ggaborg
abe2a5e910 DBZ-5122 Include Oracle Debezium Connector in Debezium Server distribution 2022-08-25 09:17:05 +02:00
ggaborg
fcd2664d2e DBZ-5513 constant for offset.storage prefix 2022-08-17 15:44:39 +02:00
ggaborg
6c3955aa01 DBZ-5513 Simplify passing of SINK config properties to OffsetBackingStore 2022-08-17 15:44:39 +02:00
ggaborg
727e8819e9 DBZ-5506 duplicate call to config.validateAndRecord() in RedisDatabaseHistory 2022-08-16 08:31:48 -04:00
ggaborg
3489217e0d DBZ-5035 updated test 2022-08-15 13:29:12 +02:00
ggaborg
469d7b9aec DBZ-5035 Redis Sink config properties are not passed to DB history 2022-08-15 13:29:12 +02:00
Vojtech Juranek
43787b8a21 DBZ-5116 Provide more clear message when cannot load config
Example output after the failure:

    $ ./run.sh
    Failed to load mandatory config value 'debezium.sink.type'. Please check you have correct Debezium server config in /home/vjuranek/tmp/debezium-server/conf/application.properties or required properties are defined via system or environment variables.
    {"timestamp":"2022-08-08T13:37:35.848+02:00","sequence":155,"loggerClassName":"org.jboss.logging.Logger","loggerName":"io.quarkus.runtime.Application","level":"ERROR","message":"Failed to start application (with profile prod)","threadName":"main","threadId":1,"mdc":{},"ndc":"","hostName":"fedora","processName":"io.debezium.server.Main","processId":1048188,"exception":{"refId":1,"exceptionType":"java.util.NoSuchElementException","message":"SRCFG00014: The config property debezium.sink.type is required but it could not be found in any config source","frames":[{"class":"io.smallrye.config.SmallRyeConfig","method":"convertValue","line":282},{"class":"io.smallrye.config.SmallRyeConfig","method":"getValue","line":239},{"class":"io.smallrye.config.SmallRyeConfig","method":"getValue","line":167},{"class":"io.debezium.server.DebeziumServer","method":"start","line":104},{"class":"io.debezium.server.DebeziumServer_Bean","method":"create"},{"class":"io.debezium.server.DebeziumServer_Bean","method":"create"},{"class":"io.quarkus.arc.impl.AbstractSharedContext","method":"createInstanceHandle","line":111},{"class":"io.quarkus.arc.impl.AbstractSharedContext$1","method":"get","line":35},{"class":"io.quarkus.arc.impl.AbstractSharedContext$1","method":"get","line":32},{"class":"io.quarkus.arc.impl.LazyValue","method":"get","line":26},{"class":"io.quarkus.arc.impl.ComputingCache","method":"computeIfAbsent","line":69},{"class":"io.quarkus.arc.impl.AbstractSharedContext","method":"get","line":32},{"class":"io.quarkus.arc.impl.ClientProxies","method":"getApplicationScopedDelegate","line":19},{"class":"io.debezium.server.DebeziumServer_ClientProxy","method":"arc$delegate"},{"class":"io.debezium.server.DebeziumServer_ClientProxy","method":"arc_contextualInstance"},{"class":"io.debezium.server.DebeziumServer_Observer_Synthetic_d70cd75bf32ab6598217b9a64a8473d65e248c05","method":"notify"},{"class":"io.quarkus.arc.impl.EventImpl$Notifier","method":"notifyObservers","line":323},{"class":"io.quarkus.arc.impl.EventImpl$Notifier","method":"notify","line":305},{"class":"io.quarkus.arc.impl.EventImpl","method":"fire","line":73},{"class":"io.quarkus.arc.runtime.ArcRecorder","method":"fireLifecycleEvent","line":130},{"class":"io.quarkus.arc.runtime.ArcRecorder","method":"handleLifecycleEvents","line":99},{"class":"io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent1144526294","method":"deploy_0"},{"class":"io.quarkus.deployment.steps.LifecycleEventsBuildStep$startupEvent1144526294","method":"deploy"},{"class":"io.quarkus.runner.ApplicationImpl","method":"doStart"},{"class":"io.quarkus.runtime.Application","method":"start","line":101},{"class":"io.quarkus.runtime.ApplicationLifecycleManager","method":"run","line":103},{"class":"io.quarkus.runtime.Quarkus","method":"run","line":67},{"class":"io.quarkus.runtime.Quarkus","method":"run","line":41},{"class":"io.quarkus.runtime.Quarkus","method":"run","line":120},{"class":"io.debezium.server.Main","method":"main","line":15}]}}
2022-08-08 10:24:56 -04:00
Vojtech Juranek
e70ceeeacd DBZ-5307 Fix adding events from WireMock
In existing test we added all events in the loop which can lead into
adding one event multiple times and therefore failing the tests.
When test run alone, this probably never happen or it was very rare.
Now, when test runs with Debezium server already running, it fails more
often. Fix it by removing already added events from WireMock.
2022-07-28 14:19:13 -04:00
Vojtech Juranek
75e5675375 DBZ-5307 Retry upon failure when sending to HTTP sink
If sending record to HTTP consumer fails, retry sending couple of times
and fail eventually. Retrying immdiatelly usually have no effect,
therefore sleep some time between retries.

Intorduce new config option to `HttpChangeConsumer`:
* `retries` - number of retries before exception is throws
* `retry.interval.ms` - amount of time to sleep before next retry
2022-07-28 14:19:13 -04:00
Vojtech Juranek
0e165834bd DBZ-5307 Add method for resetting WireMock
Normally WireMock is reset after each test. However, as we run WireMock
as a container, it's not reset and we have to do so manully. Add
a method which resets WireMock by sending HTTP request.
2022-07-28 14:19:13 -04:00
Vojtech Juranek
72f8388bba DBZ-5307 Refactor HttpChangeConsumer
Refactor HttpChangeConsumer and its test to prepare for further changes
in follow-up patch. Move sending of records into separate method. Also
assert events in the tests in dedicated method.
2022-07-28 14:19:13 -04:00
Debezium Builder
1ab51ae8d0 [maven-release-plugin] prepare for next development iteration 2022-07-26 18:13:10 +00:00
Debezium Builder
d247a48b79 [maven-release-plugin] prepare release v2.0.0.Beta1 2022-07-26 18:13:09 +00:00
Jiri Pechanec
ad7e65fbac DBZ-5235 Use JMX to get queue size 2022-07-12 16:40:48 +02:00
Ismail Simsek
d84559f147 DBZ-5235 read Debezium metrics from consumer 2022-07-12 16:40:48 +02:00
Debezium Builder
6fd1441af3 [maven-release-plugin] prepare for next development iteration 2022-07-01 09:21:49 +00:00
Debezium Builder
99402af634 [maven-release-plugin] prepare release v2.0.0.Alpha3 2022-07-01 09:21:48 +00:00
kanha gupta
1b17372d2d DBZ-4902 Replace long durations with Duration 2022-06-27 14:29:51 +02:00
Anisha Mohanty
27d17fd77e DBZ-5297 Upgrade azure-messaging-eventhubs to 5.12.1 version 2022-06-22 12:04:00 -04:00
rahulkhanna
3eda41e128 DBZ-5268-redis-store-does-not-work-with-gcp-managed-redis 2022-06-20 14:11:36 +02:00
Vojtech Juranek
3d44f385c8 DBZ-5232 Remove duplicate scripting jars from the dir 2022-06-09 14:32:27 -04:00
Debezium Builder
6fff3a2876 [maven-release-plugin] prepare for next development iteration 2022-06-09 11:49:26 +00:00
Debezium Builder
b2e2e351df [maven-release-plugin] prepare release v2.0.0.Alpha2 2022-06-09 11:49:26 +00:00
Jiri Pechanec
a5770c0b36 DBZ-5224 Remove invalid scope 2022-06-08 14:11:56 +02:00
Vojtech Juranek
db08e894fc DBZ-5045 Remove deprecated TABLE_WHITELIST 2022-06-08 09:11:00 +02:00
Vojtech Juranek
7ac91c4450 DBZ-5154 Support scripting in Debezium Server
Add Debezium scripting and it's optional JSR 223 dependencies into
server distribution in `lib_opt` directory.

Add these jars into classpath when `ENABLE_DEBEZIUM_SCRIPTING` env.
variable is set to `true`. Otherwise scripting jars are not loaded.
2022-05-31 18:02:47 +02:00
Vojtech Juranek
f8d4307155 DBZ-5052 Send tombstones only when consumer is able to consume them
Change event consumer may specify if is able to consume tombstones or
not. If the it's not, don't send them. However, connector configuration
takes precence and thus cunsumer capability is taken into account only
when `tombstones.on.delete` is not explicitely configured for the
connector.

Also fix debezium server - setting notifier has to be done once embedded
config already exists, not before it.
2022-05-26 12:40:02 +02:00
Jiri Pechanec
c0643dba86 DBZ-5144 Upgrade Kafka to 3.2.0 2022-05-19 16:58:15 -04:00
Eliran
a1cf758c45 DBZ-5142 Configurable Redis connection timeouts 2022-05-19 13:43:01 -04:00
Vojtech Juranek
ff6d7007aa DBZ-5105 Allow empty DBZ server config value
An example when empty config value is meaningful is
`debezium.sink.kafka.producer.ssl.endpoint.identification.algorithm`
which means that server host name verification is turned off when
leave empty [1].

[1] https://docs.confluent.io/platform/current/kafka/authentication_ssl.html#optional-settings
2022-05-11 16:01:33 +02:00
Vojtech Juranek
e3b5d08158 DBZ-5117 Add mandatory database.server.id into Redis test profile 2022-05-11 09:26:54 -04:00
Jiri Pechanec
88dab4d8d3 DBZ-5074 Track connections by name; close heartbeat connection by default 2022-05-06 16:36:28 +02:00
Debezium Builder
901825810a [maven-release-plugin] prepare for next development iteration 2022-04-28 13:51:13 +00:00
Debezium Builder
05dcb45647 [maven-release-plugin] prepare release v2.0.0.Alpha1 2022-04-28 13:51:12 +00:00
Jiri Pechanec
9142e0d620 DBZ-4450 Use Testing print utils 2022-04-28 14:43:09 +02:00
PlugaruT
a007f24ead DBZ-4450 Reorder imports 2022-04-28 14:43:09 +02:00
PlugaruT
d9739aa71a DBZ-4450 Pick up default project if not provided 2022-04-28 14:43:09 +02:00
PlugaruT
d376faa8e0 DBZ-4450 Fix * import 2022-04-28 14:43:09 +02:00
PlugaruT
ba6a620543 DBZ-4450 Complete Integration tests for Pub/Sub Lite Change consumer 2022-04-28 14:43:09 +02:00
PlugaruT
50b3429274 DBZ-4450 WIP integration tests for pubsub lite 2022-04-28 14:43:09 +02:00
PlugaruT
683bf1eaa2 DBZ-4450 small fix 2022-04-28 14:43:09 +02:00
PlugaruT
32a94e34ca DBZ-4450 Formatting 2022-04-28 14:43:09 +02:00
PlugaruT
2a5548a5d8 DBZ-4450 Move the change consumer to the same module 2022-04-28 14:43:09 +02:00
PlugaruT
4cc55254c2 DBZ-4450 Run code formatter 2022-04-28 14:43:09 +02:00
PlugaruT
b48c14a66b DBZ-4450 Basic implementation of change consumer 2022-04-28 14:43:09 +02:00
PlugaruT
cf5ba7cb88 DBZ-4450 Structure for new pubsub-lite module 2022-04-28 14:43:09 +02:00
zalmane
f4ea50d75c DBZ-5037 update HTTP connector pom 2022-04-28 08:04:36 +02:00
Jiri Pechanec
a4f977406e DBZ-4491 Fix formatting 2022-04-25 08:54:51 +02:00
Calin Laurentiu Ilie
64f65570df DBZ-4491 apply them styles 2022-04-25 08:54:51 +02:00
Calin Laurentiu Ilie
baef35c58e DBZ-4491 removed redundant docs 2022-04-25 08:54:51 +02:00
Calin Laurentiu Ilie
67f7a2b12c DBZ-4491 use test containers for the integration test 2022-04-25 08:54:51 +02:00
Calin Laurentiu Ilie
89e5069eac DBZ-4491 implemented first round of review feedback 2022-04-25 08:54:51 +02:00
Calin Laurentiu Ilie
c416c1aeed DBZ-4491 add support for Google PubSub emulator 2022-04-25 08:54:51 +02:00
Vojtech Juranek
78dcc1862e DBZ-4949 Use Java 11 as a baseline
* use Java 11 as a baseline for Debezium
* use Java 17 as a baseline for tests
* remove redundant maven setup and JDK11 profile
2022-04-22 05:53:51 +02:00
spicy-sauce
5244e2937e DBZ-5019 Check if client is not null before closing it 2022-04-21 08:43:35 +02:00
spicy-sauce
1c9c631da1 DBZ-4966 ping before creating pipeline 2022-04-20 09:31:31 +02:00
spicy-sauce
71c71d30b7 DBZ-4993 Redis Sink - clientSetname is taking place before auth 2022-04-14 11:17:55 -04:00
Paul Tzen
577f8e1530 DBZ-4961 Update Pulsar client version used by Debezium Server to 2.9.2 2022-04-07 12:30:36 +02:00
Debezium Builder
4a6de64c25 [maven-release-plugin] prepare for next development iteration 2022-04-05 14:49:52 +00:00
Debezium Builder
683851fd90 [maven-release-plugin] prepare release v1.9.0.Final 2022-04-05 14:49:51 +00:00
spicy-sauce
de3935797a DBZ-4911 sort-imports 2022-03-31 10:52:42 +02:00
spicy-sauce
b527ae373d DBZ-4911 fixed tests 2022-03-31 10:52:42 +02:00
spicy-sauce
40153c2c0c DBZ-4911 header 2022-03-31 10:52:42 +02:00
spicy-sauce
a66c90661b DBZ-4911 RedisConnection class 2022-03-31 10:52:42 +02:00
spicy-sauce
3409e9bc20 DBZ-4911 Use Jedis' clientSetname when establishing Redis connections 2022-03-31 10:52:42 +02:00
zalmane
304d9631af DBZ-4742 update tests 2022-03-31 08:54:46 +02:00
zalmane
9408176bf4 DBZ-4742 support file config provider 2022-03-31 08:54:46 +02:00
Yossi Shirizli
2e0ec4a86c
DBZ-4912 Debezium Server Redis sink: multi-shard support 2022-03-30 10:46:04 +02:00
zalmane
596142c8b2 DBZ-4864 pass sink properties 2022-03-29 12:40:05 +02:00
zalmane
d5961eec52 DBZ-4511 add tls support 2022-03-28 09:13:52 +02:00
Debezium Builder
ab7fe3b96a [maven-release-plugin] prepare for next development iteration 2022-03-25 16:45:06 +00:00
Debezium Builder
d19fc234ee [maven-release-plugin] prepare release v1.9.0.CR1 2022-03-25 16:45:06 +00:00
Gunnar Morling
1029086fa2 DBZ-4771 Consistent namespacing for Redis history properties 2022-03-23 13:26:07 +01:00
zalmane
fbab769910 DBZ-4771 squash commits 2022-03-23 13:26:07 +01:00
Nathan Smit
9b6cc6a40f DBZ-4901 Updated google-cloud libraries bom to version 25.0.0 2022-03-23 10:36:48 +01:00
Jiri Pechanec
acbb47761c DBZ-4821 Allows spaces in JAVA_HOME 2022-03-17 08:03:03 +01:00
ETIENNE
fc47170e29 DBZ-4821 Added run.bat to debezium-server-dist 2022-03-16 09:54:19 +01:00
Gunnar Morling
d20a6f00e7 DBZ-4801 Using JdbcConfiguration in JdbcConnection 2022-03-07 17:53:45 +01:00
Debezium Builder
fece16039c [maven-release-plugin] prepare for next development iteration 2022-03-03 17:00:08 +00:00
Debezium Builder
e0d8a0d809 [maven-release-plugin] prepare release v1.9.0.Beta1 2022-03-03 17:00:08 +00:00
Gunnar Morling
3ae2cc374b [release] Targetting Java 11 for JavaDoc 2022-03-03 10:56:46 -05:00
Chris Baumbauer
c54d5ebe6a DBZ-2097 Support Knative Eventing 2022-03-03 13:20:27 +01:00
zalmane
c50d6c6d33 DBZ-4509 fix tests 2022-03-03 10:13:29 +01:00