Advanced Features
Partitioning
The partitions provided with each RFC/RFM result equals the name of the function module, as each function module name is unique per SAP instance.
Parallelism
The RFC Source Connector achieves parallelism by assigning each RFC/RFM to a single worker task. If the number of configured RFCs/RFMs exceeds either the maxTasks
configuration or the available number of tasks, a single task will handle extractions for multiple RFMs.
- Scaling by adding tasks therefore only makes sense if the amount of configured RFMs is greater than the amount of available tasks.
- Scaling by adding topic partitions makes no sense at all, as we only use one partition to guarantee sequential order.
Scheduling
The connector is meant to run continuously according to streaming principles. Nevertheless, a clock period can be set using configuration property exec-period
per single RFC source. A data extraction will then take place only once in a clock period interval. As an alternative one can use configuration properties cron.expression
and cron.security.time.sec
to define a cron-like schedule, e.g. if a source system specifies strict timeframes for extraction processes.
For more information on quartz cron expressions, check out the following link Quartz - Cron Trigger Tutorial.
Plugin Discovery
Plugin Discovery is the strategy the Connect worker uses to find plugin classes and make them available for configuration and execution. This process is controlled by the worker’s plugin.discovery
setting.
By default, the plugin.discovery
setting is HYBRID_WARN
, which is compatible with all plugins and logs a warning if it encounters any plugins incompatible with the SERVICE_LOAD
mode. The SERVICE_LOAD
option, which uses the faster ServiceLoader
mechanism, may improve performance during worker startup, but will not load incompatible plugins. See Connect Worker Configuration for all plugin.discovery
values.
The RFC Source Connector supports the ServiceLoader
mechanism.
For more information about Plugin Discovery and the Connect worker configuration refer to Kafka Connect Plugin Discovery as well as KIP-898: Modernize Connect plugin discovery.