Class CommonConnectorConfig
- Direct Known Subclasses:
RelationalDatabaseConnectorConfig
- Author:
- Gunnar Morling
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumThe set of predefined BinaryHandlingMode options or aliasesstatic enumstatic enumThe set of predefined modes for dealing with failures during event processing.static enumThe set of predefined FieldNameAdjustmentMode optionsstatic enumThe set of predefined GuardrailCollectionsLimitAction optionsstatic enumThe set of predefined SchemaNameAdjustmentMode optionsstatic enumstatic enumThe set of predefined versions e.g. for source struct maker versionstatic enumThe set of predefined incremental snapshot watermarking strategies -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final io.debezium.config.Fieldprivate static final Stringprotected final DefaultBeanRegistrystatic final io.debezium.config.Fieldprivate final CommonConnectorConfig.BinaryHandlingModeprivate final io.debezium.config.Configurationprotected static final io.debezium.config.ConfigDefinitionprivate static final Stringstatic final io.debezium.config.Fieldstatic final Stringstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic io.debezium.config.FieldConfiguration field for overriding the default pattern used to mask sensitive configuration values.static final Stringstatic final longstatic final Durationstatic final intstatic final intstatic final longstatic final intstatic final longstatic final intstatic final Stringstatic final longstatic final Stringprivate final booleanstatic final Stringstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldprivate final CommonConnectorConfig.EventConvertingFailureHandlingModeprivate final CommonConnectorConfig.EventProcessingFailureHandlingModestatic final io.debezium.config.Fieldstatic io.debezium.config.FieldConfiguration field for enabling or disabling extended Debezium context headers.static final io.debezium.config.Fieldprivate final CommonConnectorConfig.FieldNameAdjustmentModestatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldprotected final CommonConnectorConfig.GuardrailCollectionsLimitActionprotected final intprivate Durationprivate final Stringstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldprivate final booleanprivate final intprotected final booleanprivate final booleanprotected final booleanprotected final booleanstatic final io.debezium.config.Fieldprivate final booleanstatic final io.debezium.config.Fieldprivate static final org.slf4j.Loggerprotected final Stringstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldprivate final intprivate final intprivate final longprivate final intstatic final Stringstatic final Stringstatic final io.debezium.config.Fieldprivate final Stringstatic io.debezium.config.FieldConfiguration field specifying the path to the OpenLineage configuration file.static io.debezium.config.FieldConfiguration field for specifying the Kafka bootstrap server used in Kafka Connect deployment.static io.debezium.config.FieldConfiguration field to enable or disable OpenLineage integration.static io.debezium.config.FieldConfiguration field providing a human-readable description for the Debezium job.static io.debezium.config.FieldConfiguration field defining the namespace for the Debezium job in OpenLineage.static io.debezium.config.FieldConfiguration field for specifying the owners of the Debezium job.static io.debezium.config.FieldConfiguration field for specifying tags associated with the Debezium job.static final io.debezium.config.Fieldprivate final Durationstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldprivate final Integerstatic final io.debezium.config.Fieldprivate final Stringstatic final io.debezium.config.Fieldprivate final Durationstatic final io.debezium.config.Fieldprivate final CommonConnectorConfig.SchemaNameAdjustmentModeprotected final DefaultServiceRegistryprivate final booleanstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldprivate final Durationstatic final io.debezium.config.FieldSpecifies whether to skip messages containing no updates in included columnsprivate final booleanstatic final io.debezium.config.Fieldprivate final EnumSet<Envelope.Operation> static final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final Stringstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final Stringstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldprivate final Durationprivate final intprotected Stringprivate final intprivate final intprotected final booleanprotected final booleanprotected final booleanprotected final booleanprotected final booleanprivate final Stringprotected CommonConnectorConfig.SnapshotQueryModeprotected Stringstatic final io.debezium.config.Fieldprivate final SourceInfoStructMaker<? extends AbstractSourceInfo> static final io.debezium.config.Fieldstatic final io.debezium.config.Fieldprivate final Durationprivate final Stringstatic final io.debezium.config.Fieldstatic final Patternstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldprivate final TransactionMetadataFactory -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedCommonConnectorConfig(io.debezium.config.Configuration config, int defaultSnapshotFetchSize) -
Method Summary
Modifier and TypeMethodDescriptioncreateCustomMetricTags(io.debezium.config.Configuration config) createHeartbeat(io.debezium.spi.topic.TopicNamingStrategy topicNamingStrategy, SchemaNameAdjuster schemaNameAdjuster, HeartbeatConnectionProvider connectionProvider, HeartbeatErrorHandler errorHandler) Deprecated.private static EnumSet<Envelope.Operation> determineSkippedOperations(io.debezium.config.Configuration config) io.debezium.config.ConfigurationDeprecated.abstract Stringabstract StringintintintintlongintintintgetSignalEnabledChannels(io.debezium.config.Configuration config) getSignalingDataCollections(io.debezium.config.Configuration config) intabstract Optional<? extends io.debezium.config.EnumeratedValue> intintprivate static intgetSnapshotMaxThreadsTableMultiplierAsInteger(io.debezium.config.Configuration config, String configKey) intabstract io.debezium.config.EnumeratedValue<T extends AbstractSourceInfo>
SourceInfoStructMaker<T> protected abstract SourceInfoStructMaker<?> Returns the connector-specificSourceInfoStructMakerbased on the given configuration.<T extends AbstractSourceInfo>
SourceInfoStructMaker<T> getSourceInfoStructMaker(io.debezium.config.Field sourceInfoStructMakerField, String connector, String version, CommonConnectorConfig connectorConfig) io.debezium.spi.topic.TopicNamingStrategygetTopicNamingStrategy(io.debezium.config.Field topicNamingStrategyField) io.debezium.spi.topic.TopicNamingStrategygetTopicNamingStrategy(io.debezium.config.Field topicNamingStrategyField, boolean multiPartitionMode) getTransactionMetadataFactory(io.debezium.config.Field transactionMetadataFactoryField) booleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanisSignalDataCollection(io.debezium.spi.schema.DataCollectionId dataCollectionId) booleanprivate static booleanisUsingAvroConverter(io.debezium.config.Configuration config) parseSignallingMessage(org.apache.kafka.connect.data.Struct value, String fieldName) protected voidsetHeartbeatInterval(int heartbeatIntervalMs) booleanbooleanbooleanbooleanbooleanbooleanbooleanio.debezium.config.EnumeratedValuebooleanWhether a particular connector supports an optimized way for implementing operation skipping, or not.protected booleanbooleanvalidate(Iterable<io.debezium.config.Field> fields, io.debezium.config.Field.ValidationOutput problems) Validates the supplied fields in this configuration.booleanvalidateAndRecord(Iterable<io.debezium.config.Field> fields, Consumer<String> problems) Validate the supplied fields in this configuration.voidvalidateGuardrailLimits(Collection<String> tableNames) Validates that the number of captured tables/collections does not exceed the configured guardrail limit.voidvalidateGuardrailLimits(Collection<String> tableNames, boolean isHistorizedSchemaValidatingAllTables) Validates that the number of captured tables/collections does not exceed the configured guardrail limit.private static intvalidateMaxQueueSize(io.debezium.config.Configuration config, io.debezium.config.Field field, io.debezium.config.Field.ValidationOutput problems) private static intvalidateSignalDataCollection(io.debezium.config.Configuration configuration, io.debezium.config.Field field, io.debezium.config.Field.ValidationOutput problems) protected static intvalidateSkippedOperation(io.debezium.config.Configuration config, io.debezium.config.Field field, io.debezium.config.Field.ValidationOutput problems) static intvalidateTopicName(io.debezium.config.Configuration config, io.debezium.config.Field field, io.debezium.config.Field.ValidationOutput problems)
-
Field Details
-
TOPIC_NAME_PATTERN
-
MULTI_PARTITION_MODE
- See Also:
-
SNAPSHOT_MODE_PROPERTY_NAME
- See Also:
-
SNAPSHOT_LOCKING_MODE_PROPERTY_NAME
- See Also:
-
DEFAULT_QUEUE_PROVIDER_TYPE
- See Also:
-
LOGGER
private static final org.slf4j.Logger LOGGER -
CONNECTOR_CLASS
- See Also:
-
snapshotQueryMode
-
snapshotQueryModeCustomName
-
snapshotLockingModeCustomName
-
snapshotModeConfigurationBasedSnapshotData
protected final boolean snapshotModeConfigurationBasedSnapshotData -
snapshotModeConfigurationBasedSnapshotSchema
protected final boolean snapshotModeConfigurationBasedSnapshotSchema -
snapshotModeConfigurationBasedStream
protected final boolean snapshotModeConfigurationBasedStream -
snapshotModeConfigurationBasedSnapshotOnSchemaError
protected final boolean snapshotModeConfigurationBasedSnapshotOnSchemaError -
snapshotModeConfigurationBasedSnapshotOnDataError
protected final boolean snapshotModeConfigurationBasedSnapshotOnDataError -
isLogPositionCheckEnabled
protected final boolean isLogPositionCheckEnabled -
isAdvancedMetricsEnabled
protected final boolean isAdvancedMetricsEnabled -
isExtendedHeadersEnabled
private final boolean isExtendedHeadersEnabled -
guardrailCollectionsMax
protected final int guardrailCollectionsMax -
guardrailCollectionsLimitAction
protected final CommonConnectorConfig.GuardrailCollectionsLimitAction guardrailCollectionsLimitAction -
isStatisticsMetricsEnabled
protected final boolean isStatisticsMetricsEnabled -
CONFLUENT_AVRO_CONVERTER
- See Also:
-
APICURIO_AVRO_CONVERTER
- See Also:
-
DEFAULT_EXECUTOR_SHUTDOWN_TIMEOUT
-
DEFAULT_MAX_QUEUE_SIZE
public static final int DEFAULT_MAX_QUEUE_SIZE- See Also:
-
DEFAULT_MAX_BATCH_SIZE
public static final int DEFAULT_MAX_BATCH_SIZE- See Also:
-
DEFAULT_QUERY_FETCH_SIZE
public static final int DEFAULT_QUERY_FETCH_SIZE- See Also:
-
DEFAULT_POLL_INTERVAL_MILLIS
public static final long DEFAULT_POLL_INTERVAL_MILLIS- See Also:
-
DATABASE_CONFIG_PREFIX
- See Also:
-
DRIVER_CONFIG_PREFIX
- See Also:
-
DEFAULT_RETRIABLE_RESTART_WAIT
public static final long DEFAULT_RETRIABLE_RESTART_WAIT- See Also:
-
DEFAULT_MAX_QUEUE_SIZE_IN_BYTES
public static final long DEFAULT_MAX_QUEUE_SIZE_IN_BYTES- See Also:
-
NOTIFICATION_CONFIGURATION_FIELD_PREFIX_STRING
- See Also:
-
DEFAULT_CONNECTION_VALIDATION_TIMEOUT_MS
public static final long DEFAULT_CONNECTION_VALIDATION_TIMEOUT_MS- See Also:
-
DEFAULT_MAX_RETRIES
public static final int DEFAULT_MAX_RETRIES- See Also:
-
ERRORS_MAX_RETRIES
- See Also:
-
maxRetriesOnError
private final int maxRetriesOnError -
TOPIC_PREFIX
public static final io.debezium.config.Field TOPIC_PREFIX -
RETRIABLE_RESTART_WAIT
public static final io.debezium.config.Field RETRIABLE_RESTART_WAIT -
TOMBSTONES_ON_DELETE
public static final io.debezium.config.Field TOMBSTONES_ON_DELETE -
MAX_QUEUE_SIZE
public static final io.debezium.config.Field MAX_QUEUE_SIZE -
MAX_BATCH_SIZE
public static final io.debezium.config.Field MAX_BATCH_SIZE -
POLL_INTERVAL_MS
public static final io.debezium.config.Field POLL_INTERVAL_MS -
MAX_QUEUE_SIZE_IN_BYTES
public static final io.debezium.config.Field MAX_QUEUE_SIZE_IN_BYTES -
QUEUE_PROVIDER_TYPE
public static final io.debezium.config.Field QUEUE_PROVIDER_TYPE -
SNAPSHOT_DELAY_MS
public static final io.debezium.config.Field SNAPSHOT_DELAY_MS -
SNAPSHOT_FETCH_SIZE
public static final io.debezium.config.Field SNAPSHOT_FETCH_SIZE -
INCREMENTAL_SNAPSHOT_CHUNK_SIZE
public static final io.debezium.config.Field INCREMENTAL_SNAPSHOT_CHUNK_SIZE -
INCREMENTAL_SNAPSHOT_ALLOW_SCHEMA_CHANGES
public static final io.debezium.config.Field INCREMENTAL_SNAPSHOT_ALLOW_SCHEMA_CHANGES -
SNAPSHOT_MODE_TABLES
public static final io.debezium.config.Field SNAPSHOT_MODE_TABLES -
PROVIDE_TRANSACTION_METADATA
public static final io.debezium.config.Field PROVIDE_TRANSACTION_METADATA -
TRANSACTION_METADATA_FACTORY
public static final io.debezium.config.Field TRANSACTION_METADATA_FACTORY -
EVENT_PROCESSING_FAILURE_HANDLING_MODE
public static final io.debezium.config.Field EVENT_PROCESSING_FAILURE_HANDLING_MODE -
CUSTOM_CONVERTERS
public static final io.debezium.config.Field CUSTOM_CONVERTERS -
CUSTOM_POST_PROCESSORS
public static final io.debezium.config.Field CUSTOM_POST_PROCESSORS -
SKIPPED_OPERATIONS
public static final io.debezium.config.Field SKIPPED_OPERATIONS -
SKIP_MESSAGES_WITHOUT_CHANGE
public static final io.debezium.config.Field SKIP_MESSAGES_WITHOUT_CHANGESpecifies whether to skip messages containing no updates in included columns -
BINARY_HANDLING_MODE
public static final io.debezium.config.Field BINARY_HANDLING_MODE -
SCHEMA_NAME_ADJUSTMENT_MODE
public static final io.debezium.config.Field SCHEMA_NAME_ADJUSTMENT_MODE -
FIELD_NAME_ADJUSTMENT_MODE
public static final io.debezium.config.Field FIELD_NAME_ADJUSTMENT_MODE -
QUERY_FETCH_SIZE
public static final io.debezium.config.Field QUERY_FETCH_SIZE -
SNAPSHOT_MAX_THREADS
public static final io.debezium.config.Field SNAPSHOT_MAX_THREADS -
SNAPSHOT_MAX_THREADS_MULTIPLIER
public static final io.debezium.config.Field SNAPSHOT_MAX_THREADS_MULTIPLIER -
LEGACY_SNAPSHOT_MAX_THREADS
public static final io.debezium.config.Field LEGACY_SNAPSHOT_MAX_THREADS -
SIGNAL_DATA_COLLECTION
public static final io.debezium.config.Field SIGNAL_DATA_COLLECTION -
SIGNAL_POLL_INTERVAL_MS
public static final io.debezium.config.Field SIGNAL_POLL_INTERVAL_MS -
SIGNAL_ENABLED_CHANNELS
public static final io.debezium.config.Field SIGNAL_ENABLED_CHANNELS -
TOPIC_NAMING_STRATEGY
public static final io.debezium.config.Field TOPIC_NAMING_STRATEGY -
CUSTOM_RETRIABLE_EXCEPTION
public static final io.debezium.config.Field CUSTOM_RETRIABLE_EXCEPTION -
NOTIFICATION_ENABLED_CHANNELS
public static final io.debezium.config.Field NOTIFICATION_ENABLED_CHANNELS -
SOURCE_INFO_STRUCT_MAKER
public static final io.debezium.config.Field SOURCE_INFO_STRUCT_MAKER -
MAX_RETRIES_ON_ERROR
public static final io.debezium.config.Field MAX_RETRIES_ON_ERROR -
CUSTOM_METRIC_TAGS
public static final io.debezium.config.Field CUSTOM_METRIC_TAGS -
INCREMENTAL_SNAPSHOT_WATERMARKING_STRATEGY
public static final io.debezium.config.Field INCREMENTAL_SNAPSHOT_WATERMARKING_STRATEGY -
SNAPSHOT_MODE_CUSTOM_NAME
public static final io.debezium.config.Field SNAPSHOT_MODE_CUSTOM_NAME -
EVENT_CONVERTING_FAILURE_HANDLING_MODE
public static final io.debezium.config.Field EVENT_CONVERTING_FAILURE_HANDLING_MODE -
STREAMING_DELAY_MS
public static final io.debezium.config.Field STREAMING_DELAY_MS -
SNAPSHOT_LOCKING_MODE_CUSTOM_NAME
public static final io.debezium.config.Field SNAPSHOT_LOCKING_MODE_CUSTOM_NAME -
SNAPSHOT_QUERY_MODE
public static final io.debezium.config.Field SNAPSHOT_QUERY_MODE -
SNAPSHOT_QUERY_MODE_CUSTOM_NAME
public static final io.debezium.config.Field SNAPSHOT_QUERY_MODE_CUSTOM_NAME -
SNAPSHOT_MODE_CONFIGURATION_BASED_SNAPSHOT_DATA
public static final io.debezium.config.Field SNAPSHOT_MODE_CONFIGURATION_BASED_SNAPSHOT_DATA -
SNAPSHOT_MODE_CONFIGURATION_BASED_SNAPSHOT_SCHEMA
public static final io.debezium.config.Field SNAPSHOT_MODE_CONFIGURATION_BASED_SNAPSHOT_SCHEMA -
SNAPSHOT_MODE_CONFIGURATION_BASED_START_STREAM
public static final io.debezium.config.Field SNAPSHOT_MODE_CONFIGURATION_BASED_START_STREAM -
SNAPSHOT_MODE_CONFIGURATION_BASED_SNAPSHOT_ON_SCHEMA_ERROR
public static final io.debezium.config.Field SNAPSHOT_MODE_CONFIGURATION_BASED_SNAPSHOT_ON_SCHEMA_ERROR -
SNAPSHOT_MODE_CONFIGURATION_BASED_SNAPSHOT_ON_DATA_ERROR
public static final io.debezium.config.Field SNAPSHOT_MODE_CONFIGURATION_BASED_SNAPSHOT_ON_DATA_ERROR -
LOG_POSITION_CHECK_ENABLED
public static final io.debezium.config.Field LOG_POSITION_CHECK_ENABLED -
ADVANCED_METRICS_ENABLE
public static final io.debezium.config.Field ADVANCED_METRICS_ENABLE -
CONNECTION_VALIDATION_TIMEOUT_MS
public static final io.debezium.config.Field CONNECTION_VALIDATION_TIMEOUT_MS -
EXECUTOR_SHUTDOWN_TIMEOUT_MS
public static final io.debezium.config.Field EXECUTOR_SHUTDOWN_TIMEOUT_MS -
OPEN_LINEAGE_INTEGRATION_ENABLED
public static io.debezium.config.Field OPEN_LINEAGE_INTEGRATION_ENABLEDConfiguration field to enable or disable OpenLineage integration.When enabled, Debezium will emit data lineage metadata through the OpenLineage API, providing visibility into data flows and transformations performed by the connector.
Configuration key:
openlineage.integration.enabled
Type: Boolean
Default:false
Importance: Low -
OPEN_LINEAGE_INTEGRATION_CONFIG_FILE_PATH
public static io.debezium.config.Field OPEN_LINEAGE_INTEGRATION_CONFIG_FILE_PATHConfiguration field specifying the path to the OpenLineage configuration file.This file contains OpenLineage client configuration settings such as transport configuration, backend settings, and other OpenLineage-specific options.
Configuration key:
openlineage.integration.config.file.path
Type: String
Default:./openlineage.yml
Importance: Low- See Also:
-
OPEN_LINEAGE_INTEGRATION_JOB_NAMESPACE
public static io.debezium.config.Field OPEN_LINEAGE_INTEGRATION_JOB_NAMESPACEConfiguration field defining the namespace for the Debezium job in OpenLineage.The namespace is used to organize and categorize jobs within the OpenLineage metadata system. It helps in identifying and grouping related data pipeline jobs.
Configuration key:
openlineage.integration.job.namespace
Type: String
Default: None
Importance: Low -
OPEN_LINEAGE_INTEGRATION_JOB_DESCRIPTION
public static io.debezium.config.Field OPEN_LINEAGE_INTEGRATION_JOB_DESCRIPTIONConfiguration field providing a human-readable description for the Debezium job.This description appears in OpenLineage metadata and helps users understand the purpose and function of the specific Debezium connector job.
Configuration key:
openlineage.integration.job.description
Type: String
Default:"Debezium change data capture job"
Importance: Low -
OPEN_LINEAGE_INTEGRATION_JOB_TAGS
public static io.debezium.config.Field OPEN_LINEAGE_INTEGRATION_JOB_TAGSConfiguration field for specifying tags associated with the Debezium job.Tags provide additional metadata and categorization for the job in OpenLineage. They are specified as a comma-separated list of key-value pairs.
Configuration key:
openlineage.integration.job.tags
Type: List
Format: Comma-separated key-value pairs (e.g.,k1=v1,k2=v2)
Default: None
Importance: LowExample:
openlineage.integration.job.tags=environment=production,team=data-engineering -
OPEN_LINEAGE_INTEGRATION_JOB_OWNERS
public static io.debezium.config.Field OPEN_LINEAGE_INTEGRATION_JOB_OWNERSConfiguration field for specifying the owners of the Debezium job.Owners identify who is responsible for the job and can be used for contact information, governance, and accountability within the OpenLineage metadata system. They are specified as a comma-separated list of key-value pairs.
Configuration key:
openlineage.integration.job.owners
Type: List
Format: Comma-separated key-value pairs (e.g.,k1=v1,k2=v2)
Default: None
Importance: LowExample:
openlineage.integration.job.owners=email=team@company.com,slack=data-team -
OPEN_LINEAGE_INTEGRATION_DATASET_KAFKA_BOOTSTRAP_SERVER
public static io.debezium.config.Field OPEN_LINEAGE_INTEGRATION_DATASET_KAFKA_BOOTSTRAP_SERVERConfiguration field for specifying the Kafka bootstrap server used in Kafka Connect deployment.This field defines the Kafka bootstrap server address that will be used as the input/output namespace for dataset lineage tracking in OpenLineage. The bootstrap server is essential for identifying the data source/destination in the lineage metadata.
Configuration key:
openlineage.integration.dataset.kafka.bootstrap.server
Type: String
Format: Host and port (e.g.,host:port)
Default: None
Importance: LowExample:
openlineage.integration.dataset.kafka.bootstrap.server=localhost:9092 -
CUSTOM_SANITIZE_PATTERN
public static io.debezium.config.Field CUSTOM_SANITIZE_PATTERNConfiguration field for overriding the default pattern used to mask sensitive configuration values.By default, Debezium masks values whose keys match the built-in password pattern (
Configuration.PASSWORD_PATTERN). This setting allows users to provide a custom regular expression that replaces the default pattern. When set, only keys matching the custom pattern will be masked.Configuration key:
Configuration.CUSTOM_SANITIZE_PATTERN_KEY
Type: String
Format: Regular expression
Default:Configuration.PASSWORD_PATTERN
Importance: LowExample:
custom.sanitize.pattern=.*\.token$|.*\.credential$ -
EXTENDED_HEADERS_ENABLED
public static io.debezium.config.Field EXTENDED_HEADERS_ENABLEDConfiguration field for enabling or disabling extended Debezium context headers.This field controls whether Debezium includes additional context headers in CDC events that provide essential metadata for tracking and identifying the source of change data capture events in downstream processing systems.
Configuration Details:
- Type: Boolean
- Default: Not specified (implementation dependent)
- Importance: Low
- Group: Advanced (position 46)
- Width: Short
When enabled, this configuration adds metadata headers that can be used by downstream systems for:
- Event source tracking and lineage
- Identifying the origin of CDC events
- Enhanced monitoring and debugging capabilities
Usage Example:
// Enable extended headers config.put("extended.headers.enabled", true); // Disable extended headers (default behavior may vary) config.put("extended.headers.enabled", false);- Since:
- [3.2.1.Final, 3.3.0.Alpha1]
- See Also:
-
GUARDRAIL_COLLECTIONS_MAX
public static final io.debezium.config.Field GUARDRAIL_COLLECTIONS_MAX -
GUARDRAIL_COLLECTIONS_LIMIT_ACTION
public static final io.debezium.config.Field GUARDRAIL_COLLECTIONS_LIMIT_ACTION -
STATISTICS_METRICS_ENABLED
public static final io.debezium.config.Field STATISTICS_METRICS_ENABLED -
CONFIG_DEFINITION
protected static final io.debezium.config.ConfigDefinition CONFIG_DEFINITION -
config
private final io.debezium.config.Configuration config -
emitTombstoneOnDelete
private final boolean emitTombstoneOnDelete -
maxQueueSize
private final int maxQueueSize -
maxBatchSize
private final int maxBatchSize -
maxQueueSizeInBytes
private final long maxQueueSizeInBytes -
queueProviderType
-
pollInterval
-
logicalName
-
heartbeatTopicsPrefix
-
heartbeatInterval
-
snapshotDelay
-
streamingDelay
-
retriableRestartWait
-
snapshotFetchSize
private final int snapshotFetchSize -
incrementalSnapshotChunkSize
private final int incrementalSnapshotChunkSize -
incrementalSnapshotAllowSchemaChanges
private final boolean incrementalSnapshotAllowSchemaChanges -
snapshotMaxThreads
private final int snapshotMaxThreads -
snapshotMaxThreadsMultiplier
private final int snapshotMaxThreadsMultiplier -
legacySnapshotMaxThreads
private final boolean legacySnapshotMaxThreads -
snapshotModeCustomName
-
queryFetchSize
-
sourceInfoStructMaker
-
transactionMetadataFactory
-
shouldProvideTransactionMetadata
private final boolean shouldProvideTransactionMetadata -
eventProcessingFailureHandlingMode
private final CommonConnectorConfig.EventProcessingFailureHandlingMode eventProcessingFailureHandlingMode -
binaryHandlingMode
-
schemaNameAdjustmentMode
-
fieldNameAdjustmentMode
-
eventConvertingFailureHandlingMode
private final CommonConnectorConfig.EventConvertingFailureHandlingMode eventConvertingFailureHandlingMode -
signalingDataCollections
-
signalingDataCollectionIds
-
signalPollInterval
-
signalEnabledChannels
-
skippedOperations
-
taskId
-
skipMessagesWithoutChange
private final boolean skipMessagesWithoutChange -
notificationTopicName
-
enabledNotificationChannels
-
customMetricTags
-
incrementalSnapshotWatermarkingStrategy
-
beanRegistry
-
serviceRegistry
-
-
Constructor Details
-
CommonConnectorConfig
protected CommonConnectorConfig(io.debezium.config.Configuration config, int defaultSnapshotFetchSize)
-
-
Method Details
-
getSignalEnabledChannels
-
getSignalingDataCollections
-
determineSkippedOperations
private static EnumSet<Envelope.Operation> determineSkippedOperations(io.debezium.config.Configuration config) -
getConfig
Deprecated.Provides access to the "raw" config instance. In most cases, access via typed getters for individual properties on the connector config class should be preferred. TODO this should be protected in the future to force proper facade methods based access / encapsulation -
getBeanRegistry
-
getServiceRegistry
-
isEmitTombstoneOnDelete
public boolean isEmitTombstoneOnDelete() -
getMaxQueueSize
public int getMaxQueueSize() -
getMaxBatchSize
public int getMaxBatchSize() -
getMaxQueueSizeInBytes
public long getMaxQueueSizeInBytes() -
getQueueProviderType
-
getPollInterval
-
getLogicalName
-
getContextName
-
getConnectorName
-
getSnapshotMode
public abstract io.debezium.config.EnumeratedValue getSnapshotMode() -
getSnapshotLockingMode
-
getHeartbeatTopicsPrefix
-
getHeartbeatInterval
-
setHeartbeatInterval
protected void setHeartbeatInterval(int heartbeatIntervalMs) -
getSnapshotDelay
-
getStreamingDelay
-
getSnapshotFetchSize
public int getSnapshotFetchSize() -
getSnapshotMaxThreads
public int getSnapshotMaxThreads() -
getSnapshotMaxThreadsMultiplier
public int getSnapshotMaxThreadsMultiplier() -
getSnapshotMaxThreadsTableMultiplierAsInteger
-
getMaxSnapshotMaxThreadsMultiplier
public int getMaxSnapshotMaxThreadsMultiplier() -
isLegacySnapshotMaxThreads
public boolean isLegacySnapshotMaxThreads() -
getSnapshotModeCustomName
-
getQueryFetchSize
public int getQueryFetchSize() -
getIncrementalSnapshotChunkSize
public int getIncrementalSnapshotChunkSize() -
getNotificationTopic
-
getEnabledNotificationChannels
-
shouldProvideTransactionMetadata
public boolean shouldProvideTransactionMetadata() -
skipMessagesWithoutChange
public boolean skipMessagesWithoutChange() -
getGuardrailCollectionsMax
public int getGuardrailCollectionsMax() -
getGuardrailCollectionsLimitAction
-
validateGuardrailLimits
Validates that the number of captured tables/collections does not exceed the configured guardrail limit. Takes the appropriate action (warn or fail) based on the guardrail configuration.- Parameters:
tableNames- the names of tables/collections for logging- Throws:
io.debezium.DebeziumException- if the guardrail limit is exceeded and the action is set to FAIL
-
validateGuardrailLimits
public void validateGuardrailLimits(Collection<String> tableNames, boolean isHistorizedSchemaValidatingAllTables) Validates that the number of captured tables/collections does not exceed the configured guardrail limit. Takes the appropriate action (warn or fail) based on the guardrail configuration. This overload is for schema-history based connectors to provide enhanced error messages.- Parameters:
tableNames- the names of tables/collections for loggingisHistorizedSchemaValidatingAllTables- true if this is a historized schema connector validating all tables (not just captured tables) due to store.only.captured.tables.ddl=false- Throws:
io.debezium.DebeziumException- if the guardrail limit is exceeded and the action is set to FAIL
-
getEventProcessingFailureHandlingMode
public CommonConnectorConfig.EventProcessingFailureHandlingMode getEventProcessingFailureHandlingMode() -
supportsOperationFiltering
public boolean supportsOperationFiltering()Whether a particular connector supports an optimized way for implementing operation skipping, or not. -
supportsSchemaChangesDuringIncrementalSnapshot
protected boolean supportsSchemaChangesDuringIncrementalSnapshot() -
isIncrementalSnapshotSchemaChangesEnabled
public boolean isIncrementalSnapshotSchemaChangesEnabled() -
getTopicNamingStrategy
public io.debezium.spi.topic.TopicNamingStrategy getTopicNamingStrategy(io.debezium.config.Field topicNamingStrategyField) -
getTopicNamingStrategy
public io.debezium.spi.topic.TopicNamingStrategy getTopicNamingStrategy(io.debezium.config.Field topicNamingStrategyField, boolean multiPartitionMode) -
getSourceInfoStructMaker
-
getTransactionMetadataFactory
-
getSkippedOperations
-
getDataCollectionsToBeSnapshotted
-
getCustomMetricTags
-
createCustomMetricTags
-
getIncrementalSnapshotWatermarkingStrategy
-
getEventConvertingFailureHandlingMode
public CommonConnectorConfig.EventConvertingFailureHandlingMode getEventConvertingFailureHandlingMode() -
isSchemaChangesHistoryEnabled
public boolean isSchemaChangesHistoryEnabled()- Returns:
- true if the connector should emit messages about schema changes into a public facing topic.
-
isSchemaCommentsHistoryEnabled
public boolean isSchemaCommentsHistoryEnabled()- Returns:
- true if the connector should emit messages which include table and column comments.
-
validate
public boolean validate(Iterable<io.debezium.config.Field> fields, io.debezium.config.Field.ValidationOutput problems) Validates the supplied fields in this configuration. Extra fields not described by the suppliedfieldsparameter will not be validated.- Parameters:
fields- the fieldsproblems- the consumer to eb called with each problem; never null- Returns:
trueif the value is considered valid, orfalseif it is not valid
-
validateAndRecord
public boolean validateAndRecord(Iterable<io.debezium.config.Field> fields, Consumer<String> problems) Validate the supplied fields in this configuration. Extra fields not described by the suppliedfieldsparameter will not be validated.- Parameters:
fields- the fieldsproblems- the consumer to be called with each problem; never null- Returns:
trueif the value is considered valid, orfalseif it is not valid
-
validateMaxQueueSize
private static int validateMaxQueueSize(io.debezium.config.Configuration config, io.debezium.config.Field field, io.debezium.config.Field.ValidationOutput problems) -
validateSkippedOperation
protected static int validateSkippedOperation(io.debezium.config.Configuration config, io.debezium.config.Field field, io.debezium.config.Field.ValidationOutput problems) -
validateSignalDataCollection
private static int validateSignalDataCollection(io.debezium.config.Configuration configuration, io.debezium.config.Field field, io.debezium.config.Field.ValidationOutput problems) -
isUsingAvroConverter
private static boolean isUsingAvroConverter(io.debezium.config.Configuration config) -
getSnapshotMaxThreadsTableMultiplierAsInteger
private static int getSnapshotMaxThreadsTableMultiplierAsInteger(io.debezium.config.Configuration config, String configKey) -
snapshotLockingModeCustomName
-
snapshotModeConfigurationBasedSnapshotData
public boolean snapshotModeConfigurationBasedSnapshotData() -
snapshotModeConfigurationBasedSnapshotSchema
public boolean snapshotModeConfigurationBasedSnapshotSchema() -
snapshotModeConfigurationBasedStream
public boolean snapshotModeConfigurationBasedStream() -
snapshotModeConfigurationBasedSnapshotOnSchemaError
public boolean snapshotModeConfigurationBasedSnapshotOnSchemaError() -
snapshotModeConfigurationBasedSnapshotOnDataError
public boolean snapshotModeConfigurationBasedSnapshotOnDataError() -
isLogPositionCheckEnabled
public boolean isLogPositionCheckEnabled() -
isAdvancedMetricsEnabled
public boolean isAdvancedMetricsEnabled() -
isExtendedHeadersEnabled
public boolean isExtendedHeadersEnabled() -
getConnectionValidationTimeout
-
getExecutorShutdownTimeout
-
snapshotQueryMode
public io.debezium.config.EnumeratedValue snapshotQueryMode() -
snapshotQueryModeCustomName
-
getSourceInfoStructMaker
protected abstract SourceInfoStructMaker<?> getSourceInfoStructMaker(CommonConnectorConfig.Version version) Returns the connector-specificSourceInfoStructMakerbased on the given configuration. -
binaryHandlingMode
-
schemaNameAdjuster
-
fieldNameAdjuster
-
getSignalingDataCollectionIds
-
getSignalingDataCollectionTableIds
-
getSignalPollInterval
-
getEnabledChannels
-
parseSignallingMessage
-
isSignalDataCollection
public boolean isSignalDataCollection(io.debezium.spi.schema.DataCollectionId dataCollectionId) -
customRetriableException
-
getMaxRetriesOnError
public int getMaxRetriesOnError() -
getTaskId
-
isStatisticsMetricsEnabled
public boolean isStatisticsMetricsEnabled() -
createHeartbeat
@Deprecated public Heartbeat createHeartbeat(io.debezium.spi.topic.TopicNamingStrategy topicNamingStrategy, SchemaNameAdjuster schemaNameAdjuster, HeartbeatConnectionProvider connectionProvider, HeartbeatErrorHandler errorHandler) Deprecated.UseHeartbeatFactoryinstead. -
validateTopicName
public static int validateTopicName(io.debezium.config.Configuration config, io.debezium.config.Field field, io.debezium.config.Field.ValidationOutput problems) -
getSourceInfoStructMaker
public <T extends AbstractSourceInfo> SourceInfoStructMaker<T> getSourceInfoStructMaker(io.debezium.config.Field sourceInfoStructMakerField, String connector, String version, CommonConnectorConfig connectorConfig) -
getTransactionMetadataFactory
public TransactionMetadataFactory getTransactionMetadataFactory(io.debezium.config.Field transactionMetadataFactoryField)
-
HeartbeatFactoryinstead.