-
Enhancement
-
Resolution: Obsolete
-
Major
-
None
-
None
-
False
-
None
-
False
In order to make your issue reports as actionable as possible, please provide the following information, depending on the issue type.
Feature request or enhancement
Which use case/requirement will be addressed by the proposed feature?
In distributed databases like Yugabyte, tables are divided into multiple "tablets" and served by different servers. DML operations are redirected to the right tablet based on the sharing strategy. A CDC connector polls all tablets to collect CDC events.
In this case, a multi-threaded implementation where each EmbeddedEngine is assigned a tablet improves throughput. Moreover, they can work independently of each other.
However, the current implementation of the EmbeddedEngine assumed it will be called from a single thread. Specifically, it hard codes the number of taskConfigs to 0 and starts the task with the first taskConfig
Also the EmbeddedEngine is a "public final" class and cannot be sub-classed.
If these parameters are configurable with default of 0, then the EmbeddedEngine can be used in a multi-threaded server. Assigning independent tasks is the responsibility of the server and the connector to a distributed database.
Implementation ideas (optional)
- relates to
-
DBZ-7024 Create new implementation of DebeziumEngine
- Resolved