Commit Graph

9742 Commits

Author SHA1 Message Date
roldanbob
87c66e2bbf DBZ-7440 Update link target for Streams monitoring docs 2024-02-12 11:35:57 -05:00
roldanbob
52d93143a9 DBZ-7440 Fix link/link text in shared deployment file Addl resource list 2024-02-12 11:35:57 -05:00
Vojtech Juranek
7789d995e5 DBZ-7024 Add possibility to specify engine builder factory
Also add converting builder factory for async engine into SPI service.
2024-02-12 13:43:21 +01:00
Vojtech Juranek
dbdb052535 DBZ-7024 Add converting builder for async engine 2024-02-12 13:43:21 +01:00
Vojtech Juranek
004ebeff16 DBZ-7024 Move creation of converters into dedicated class 2024-02-12 13:43:21 +01:00
Vojtech Juranek
b74a0eb2c2 DBZ-7024 Move RecordProcessors into separate classes 2024-02-12 13:43:21 +01:00
Vojtech Juranek
eef8ee4cea DBZ-7024 Move async engine into separate package 2024-02-12 13:43:21 +01:00
Vojtech Juranek
425407331c DBZ-7024 Add TODO item for improving ConnectorCallback API 2024-02-12 13:43:21 +01:00
Vojtech Juranek
3edc61e443 DBZ-7024 Improve processor instantiation 2024-02-12 13:43:21 +01:00
Vojtech Juranek
cdf5e0255a DBZ-7024 Improve log level and log messges 2024-02-12 13:43:21 +01:00
Vojtech Juranek
a04dc84b3e DBZ-7024 Embedde state comparions into State enum methods
It's more safe to have the comparions directly in the enum and also make
obvisou that the ordering of enum is important.
2024-02-12 13:43:21 +01:00
Vojtech Juranek
5c21d19815 DBZ-7024 Use enum for record processing order option 2024-02-12 13:43:21 +01:00
Vojtech Juranek
ee1f33fe33 DBZ-7024 Limit size of records processing thread pool
If the number of threads is provided as a number, limit it to 16 threads
to avoid possible overhead with context switching on a beefy machines
where the default value using all available cores may result in many
threads, which would be waiting most of the time anyway, as such machine
may run probably many other tasks, not only Debezium.

If the user really wants to use all available cores, it can be specified
using `AVAILABLE-CORES` placeholder.
2024-02-12 13:43:21 +01:00
Vojtech Juranek
e2d2cff7fd DBZ-7024 Interrupt polling if needed
Some polling tasks may be stuck and we need to interrupt polling during
the shutdown not have to wait for TASK_MANAGEMENT_TIMEOUT_MS to timeout.

Also, when we start to interrput polling, we have to remove interruption
of the main thread in the `catch` part. It was a bug anyway as it
interrputed the main thread what we definitelly don't want to happen in
any case.
2024-02-12 13:43:21 +01:00
Vojtech Juranek
40131c0531 DBZ-7024 Increase task management timeout to 2min
Increase task management timeout to two minutes and make this option
internal. This timeout will be hopefully sufficient for most of the
deployments. If not, we will increase the timeout it make this option
public.
2024-02-12 13:43:21 +01:00
Vojtech Juranek
fc7381ad91 DBZ-7024 Improve javadoc and comments 2024-02-12 13:43:21 +01:00
Vojtech Juranek
8bb1a122b1 DBZ-7024 Add missing condition 2024-02-12 13:43:21 +01:00
Vojtech Juranek
0f7d3100b4 DBZ-7024 Add option for creating default ChangeConsumer
This option effective allowes the user to request serial processing of
the records byt the provided Consumer.
2024-02-12 13:43:21 +01:00
Vojtech Juranek
cc5f7aedd1 DBZ-7024 Don't provide default ChangeConsumer
To allow user to use different processors, don't provide the default
ChangeHandler.
2024-02-12 13:43:21 +01:00
Vojtech Juranek
de2e4aba9f DBZ-7024 Add debug logging when selecting the processor 2024-02-12 13:43:21 +01:00
Vojtech Juranek
001cb2a640 DBZ-7024 Improve javadocs and comments, fix typos 2024-02-12 13:43:21 +01:00
Vojtech Juranek
78f7c40410 DBZ-7024 Don't stop engine before tasks are fully running 2024-02-12 13:43:21 +01:00
Vojtech Juranek
834b522739 DBZ-7024 Fix ReadOnlyIncrementalSnapshotIT after switch to async engine 2024-02-12 13:43:21 +01:00
Vojtech Juranek
6c71cb7f88 DBZ-7024 Fix StreamingSourceIT after switch to async engine 2024-02-12 13:43:21 +01:00
Vojtech Juranek
ec58dd6a1c DBZ-7024 Fix MySqlRestartIT after switch to async engine 2024-02-12 13:43:21 +01:00
Vojtech Juranek
3a902ff1d6 DBZ-7024 Fix MySqlConnectorSchemaValidateIT after switch to async engine 2024-02-12 13:43:21 +01:00
Vojtech Juranek
4689db90c0 DBZ-7024 Switch abstract embedded tests to async engine 2024-02-12 13:43:21 +01:00
Vojtech Juranek
0137d5f15e DBZ-7024 Switch MySQL tests inheriting from AbstractConnectorTest to async engine 2024-02-12 13:43:21 +01:00
Vojtech Juranek
dfdeab7ab8 DBZ-7024 Add method to await engine shutdown 2024-02-12 13:43:21 +01:00
Vojtech Juranek
3ec22951ce DBZ-7024 Create testing engine and base class for async engine tests 2024-02-12 13:43:21 +01:00
Vojtech Juranek
293b84645d DBZ-7024 Make default RecordCommitter thread unsafe
Default implmentation of `RecordCommitter`, the `SourceRecordCommitter`,
is always created for each task and withing given task is called
sequentially, always in the same thread. There's no need to aquire locks
for each method call.

Make `SourceRecordCommitter` thread unsafe.
2024-02-12 13:43:21 +01:00
Vojtech Juranek
998f00f811 DBZ-7024 Create initial implementation of async embedded engine
Implementation is based on the proposed Debezium design document for
asynchronous embedded engine, which is currently still WIP:
https://github.com/debezium/debezium-design-documents/pull/8
2024-02-12 13:43:21 +01:00
Vojtech Juranek
69bbed1fa3 DBZ-7024 Allow to override type into AbstractConnectorTest 2024-02-12 13:43:21 +01:00
Vojtech Juranek
1eec31b3f3 DBZ-7024 Allow to specify multiple records when error should be thrown during processing 2024-02-12 13:43:21 +01:00
Vojtech Juranek
542b0fec7f DBZ-7024 Intorduce retryable callable 2024-02-12 13:43:21 +01:00
Vojtech Juranek
d7b7768071 DBZ-7024 Add more testing connectors
Add connector which runs mutiple tasks and connector whose some of
the tasks fail.
2024-02-12 13:43:21 +01:00
Vojtech Juranek
7eaf0fc288 DBZ-7024 Move reuseable testing functions for DebeziumEngine into common util class 2024-02-12 13:43:21 +01:00
Vojtech Juranek
b8e16ee89f DBZ-7024 Move reuseable interface implementations for DebeziumEngine into common class 2024-02-12 13:43:21 +01:00
Vojtech Juranek
ba35b395c5 DBZ-7024 Move required setup into EmbeddedWorkerConfig
Move required by `WorkerConfig` validators into `EmbeddedWorkerConfig`
so we have all Kafka related stuff in the same class.
2024-02-12 13:43:21 +01:00
Vojtech Juranek
4452e3d095 DBZ-7024 Move EmbeddedConfig into separate class
`EmbeddedConfig` needs to be shared with other implmentations of
`DebeziumEngine` as long as Debezium embedded depends on the Kafka
model.
2024-02-12 13:43:21 +01:00
Jakub Cechacek
7f3210214c DBZ-7451 Support for standard BSON representation of UUID in incremental snapshots 2024-02-12 13:19:13 +01:00
Chris Cranford
ce87f06751 [ci] Fix Oracle test workflow worker space failure
A GitHub worker only has so much space and currently when this stage of the job runs concurrently with the
"test-connector" stage, we are facing a worker out of space problem. To attempt to combat this issue, the
REST extension tests will run sequentially after the "test-connector" stage has concluded.
2024-02-09 18:24:00 -05:00
Chris Cranford
9fbcd6baa1 DBZ-7456 Skip PK change LOB column reselect if column is excluded 2024-02-09 16:43:13 -05:00
Chris Cranford
8265e4e42e DBZ-7468 Support parsing MariaDB SYSTEM VERSIONING DDL 2024-02-09 16:40:20 -05:00
Vadzim Ramanenka
237755331a DBZ-7463: SQL Server queries with special characters fail after applying DBZ-7273
Enclose column names in square brackets to account for spaces and
special characters.
2024-02-09 14:46:38 -05:00
mfvitale
6dc3b578f8 DBZ-7467 Fix missing signaling actions 2024-02-09 11:45:56 -05:00
Lars M Johansson
20ccffa223 DBZ-7460 [docs] The expected value pattern for table.include.list does not align with the documentation 2024-02-09 08:23:38 -05:00
rkerner
5c817c4fa3 DBZ-7416 Fix duplicate SMTs sometimes returned by Kafka Connect. Added deduplication with a Map with a key based on the SMT's fully-qualified class name and version.
closes https://issues.redhat.com/browse/DBZ-7416
2024-02-08 15:58:53 +01:00
mfvitale
2c9b77fc1c DBZ-7452 defaultJdbcConfig will use correct hostname and port from parameters 2024-02-08 14:31:55 +01:00
Chris Cranford
e2d03d9936 DBZ-7425 Use adapter-specific offset loaders when copying offsets 2024-02-07 19:40:30 -05:00