Package io.debezium.connector.cassandra
Class CassandraConnectorConfig
java.lang.Object
io.debezium.config.CommonConnectorConfig
io.debezium.connector.cassandra.CassandraConnectorConfig
public class CassandraConnectorConfig
extends io.debezium.config.CommonConnectorConfig
All configs used by a Cassandra connector agent.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumThe set of predefined DecimalHandlingMode options.static enumThe set of predefined SnapshotMode options.static enumThe set of predefined VarIntHandlingMode options.Nested classes/interfaces inherited from class io.debezium.config.CommonConnectorConfig
io.debezium.config.CommonConnectorConfig.BinaryHandlingMode, io.debezium.config.CommonConnectorConfig.EventProcessingFailureHandlingMode, io.debezium.config.CommonConnectorConfig.FieldNameAdjustmentMode, io.debezium.config.CommonConnectorConfig.SchemaNameAdjustmentMode, io.debezium.config.CommonConnectorConfig.Version, io.debezium.config.CommonConnectorConfig.WatermarkStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final io.debezium.config.Fieldstatic final io.debezium.config.Field(package private) static 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 io.debezium.config.Fieldstatic final StringThe prefix for allCommitLogTransferconfigurations.static final io.debezium.config.FieldMust be one of 'DOUBLE', 'PRECISE', or 'STRING'.static final intstatic final booleanstatic final intOnly valid for Cassandra 4 and defines the polling interval to check for completeness of commit log filestatic final booleanIf disabled, commit logs would not be deleted post-process, and this could lead to disk storagestatic final booleanOnly valid for Cassandra 4 and if enabled, commit logs would be read incrementally instead of reading complete log filestatic final intstatic final StringThe fully qualifiedCommitLogTransferclass used to transfer commit logs.static final intstatic final booleanInstead of parsing commit logs from CDC directory, this will look for the commit log with the latest modified timestamp in the commit log directory and attempt to process this file only.static final intThis config is effective only if offset_flush_interval_ms != 0static final intstatic final intThe default value of 0 implies the offset will be flushed every time.static final intstatic final intstatic final StringSpecify theConsistencyLevelused for the snapshot query.protected static final intstatic final StringMust be one of 'INITIAL', 'ALWAYS', or 'NEVER'.static final intstatic final booleanstatic final io.debezium.config.FieldA comma-separated list of fully-qualified names of fields that should be excluded from change event message values.static final io.debezium.config.Fieldstatic final StringThe prefix prepended to all Kafka producer configurations, including schema registrystatic final io.debezium.config.Fieldstatic final StringThe prefix prepended to all Kafka key converter configurations, including schema registry.static 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 io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldprivate static List<io.debezium.config.Field>static final io.debezium.config.Fieldstatic final StringThe prefix prepended to all Kafka value converter configurations, including schema registry.static final io.debezium.config.FieldMust be one of 'LONG', 'PRECISE', or 'STRING'.Fields inherited from class io.debezium.config.CommonConnectorConfig
beanRegistry, BINARY_HANDLING_MODE, CONFIG_DEFINITION, CUSTOM_CONVERTERS, CUSTOM_METRIC_TAGS, CUSTOM_POST_PROCESSORS, CUSTOM_RETRIABLE_EXCEPTION, DATABASE_CONFIG_PREFIX, DEFAULT_MAX_BATCH_SIZE, DEFAULT_MAX_QUEUE_SIZE, DEFAULT_MAX_QUEUE_SIZE_IN_BYTES, DEFAULT_MAX_RETRIES, DEFAULT_POLL_INTERVAL_MILLIS, DEFAULT_QUERY_FETCH_SIZE, DEFAULT_RETRIABLE_RESTART_WAIT, DRIVER_CONFIG_PREFIX, ERRORS_MAX_RETRIES, EVENT_PROCESSING_FAILURE_HANDLING_MODE, FIELD_NAME_ADJUSTMENT_MODE, INCREMENTAL_SNAPSHOT_ALLOW_SCHEMA_CHANGES, INCREMENTAL_SNAPSHOT_CHUNK_SIZE, INCREMENTAL_SNAPSHOT_WATERMARKING_STRATEGY, logicalName, MAX_BATCH_SIZE, MAX_QUEUE_SIZE, MAX_QUEUE_SIZE_IN_BYTES, MAX_RETRIES_ON_ERROR, MULTI_PARTITION_MODE, NOTIFICATION_CONFIGURATION_FIELD_PREFIX_STRING, NOTIFICATION_ENABLED_CHANNELS, POLL_INTERVAL_MS, PROVIDE_TRANSACTION_METADATA, QUERY_FETCH_SIZE, RETRIABLE_RESTART_WAIT, SCHEMA_NAME_ADJUSTMENT_MODE, serviceRegistry, SIGNAL_DATA_COLLECTION, SIGNAL_ENABLED_CHANNELS, SIGNAL_POLL_INTERVAL_MS, SKIP_MESSAGES_WITHOUT_CHANGE, SKIPPED_OPERATIONS, SNAPSHOT_DELAY_MS, SNAPSHOT_FETCH_SIZE, SNAPSHOT_MAX_THREADS, SNAPSHOT_MODE_TABLES, TASK_ID, TOMBSTONES_ON_DELETE, TOPIC_NAME_PATTERN, TOPIC_NAMING_STRATEGY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanintorg.apache.kafka.connect.storage.Converterprotected io.debezium.connector.SourceInfoStructMaker<? extends io.debezium.connector.AbstractSourceInfo>getSourceInfoStructMaker(io.debezium.config.CommonConnectorConfig.Version version) io.debezium.config.Field.Setorg.apache.kafka.connect.storage.ConverterinthttpPort()booleankeyValueConverterConfigs(String converterPrefix) booleanintlongintintPositive integer value that specifies the number of milliseconds the commit log processor should wait during each iteration for new change events to appear in the queue.booleanvoidsetValidationFieldList(List<io.debezium.config.Field> validationFieldList) com.datastax.oss.driver.api.core.ConsistencyLevelbooleanWhether deletion events should have a subsequent tombstone event (true) or not (false).toString()Methods inherited from class io.debezium.config.CommonConnectorConfig
binaryHandlingMode, createCustomMetricTags, createHeartbeat, customConverterRegistry, customRetriableException, fieldNameAdjuster, getBeanRegistry, getConfig, getCustomMetricTags, getDataCollectionsToBeSnapshotted, getEnabledChannels, getEnabledNotificationChannels, getEventProcessingFailureHandlingMode, getHeartbeatInterval, getHeartbeatTopicsPrefix, getIncrementalSnapshotChunkSize, getIncrementalSnapshotWatermarkingStrategy, getLogicalName, getMaxBatchSize, getMaxQueueSize, getMaxQueueSizeInBytes, getMaxRetriesOnError, getNotificationTopic, getPollInterval, getQueryFetchSize, getRetriableRestartWait, getServiceRegistry, getSignalingDataCollectionId, getSignalPollInterval, getSkippedOperations, getSnapshotDelay, getSnapshotFetchSize, getSnapshotMaxThreads, getSourceInfoStructMaker, getSourceInfoStructMaker, getTaskId, getTopicNamingStrategy, getTopicNamingStrategy, isEmitTombstoneOnDelete, isIncrementalSnapshotSchemaChangesEnabled, isSchemaChangesHistoryEnabled, isSchemaCommentsHistoryEnabled, isSignalDataCollection, parseSignallingMessage, schemaNameAdjuster, shouldProvideTransactionMetadata, skipMessagesWithoutChange, supportsOperationFiltering, supportsSchemaChangesDuringIncrementalSnapshot, validate, validateAndRecord, validateSkippedOperation, validateTopicName
-
Field Details
-
KAFKA_PRODUCER_CONFIG_PREFIX
The prefix prepended to all Kafka producer configurations, including schema registry- See Also:
-
KEY_CONVERTER_PREFIX
The prefix prepended to all Kafka key converter configurations, including schema registry.- See Also:
-
VALUE_CONVERTER_PREFIX
The prefix prepended to all Kafka value converter configurations, including schema registry.- See Also:
-
COMMIT_LOG_TRANSFER_CONFIG_PREFIX
The prefix for allCommitLogTransferconfigurations.- See Also:
-
TOPIC_PREFIX
public static final io.debezium.config.Field TOPIC_PREFIX -
KEY_CONVERTER_CLASS_CONFIG
public static final io.debezium.config.Field KEY_CONVERTER_CLASS_CONFIG -
VALUE_CONVERTER_CLASS_CONFIG
public static final io.debezium.config.Field VALUE_CONVERTER_CLASS_CONFIG -
DEFAULT_SNAPSHOT_MODE
Must be one of 'INITIAL', 'ALWAYS', or 'NEVER'. The default snapshot mode is 'INITIAL'. Seefor details.- See Also:
-
SNAPSHOT_MODE
public static final io.debezium.config.Field SNAPSHOT_MODE -
DEFAULT_SNAPSHOT_CONSISTENCY
Specify theConsistencyLevelused for the snapshot query.- See Also:
-
SNAPSHOT_CONSISTENCY
public static final io.debezium.config.Field SNAPSHOT_CONSISTENCY -
DEFAULT_HTTP_PORT
public static final int DEFAULT_HTTP_PORT- See Also:
-
HTTP_PORT
public static final io.debezium.config.Field HTTP_PORT -
CASSANDRA_CONFIG
public static final io.debezium.config.Field CASSANDRA_CONFIG -
COMMIT_LOG_RELOCATION_DIR
public static final io.debezium.config.Field COMMIT_LOG_RELOCATION_DIR -
DEFAULT_COMMIT_LOG_POST_PROCESSING_ENABLED
public static final boolean DEFAULT_COMMIT_LOG_POST_PROCESSING_ENABLEDIf disabled, commit logs would not be deleted post-process, and this could lead to disk storage- See Also:
-
COMMIT_LOG_POST_PROCESSING_ENABLED
public static final io.debezium.config.Field COMMIT_LOG_POST_PROCESSING_ENABLED -
DEFAULT_COMMIT_LOG_ERROR_REPROCESSING_ENABLED
public static final boolean DEFAULT_COMMIT_LOG_ERROR_REPROCESSING_ENABLED- See Also:
-
COMMIT_LOG_ERROR_REPROCESSING_ENABLED
public static final io.debezium.config.Field COMMIT_LOG_ERROR_REPROCESSING_ENABLED -
DEFAULT_COMMIT_LOG_REAL_TIME_PROCESSING_ENABLED
public static final boolean DEFAULT_COMMIT_LOG_REAL_TIME_PROCESSING_ENABLEDOnly valid for Cassandra 4 and if enabled, commit logs would be read incrementally instead of reading complete log file- See Also:
-
COMMIT_LOG_REAL_TIME_PROCESSING_ENABLED
public static final io.debezium.config.Field COMMIT_LOG_REAL_TIME_PROCESSING_ENABLED -
DEFAULT_COMMIT_LOG_MARKED_COMPLETE_POLL_INTERVAL_IN_MS
public static final int DEFAULT_COMMIT_LOG_MARKED_COMPLETE_POLL_INTERVAL_IN_MSOnly valid for Cassandra 4 and defines the polling interval to check for completeness of commit log file- See Also:
-
COMMIT_LOG_MARKED_COMPLETE_POLL_INTERVAL_IN_MS
public static final io.debezium.config.Field COMMIT_LOG_MARKED_COMPLETE_POLL_INTERVAL_IN_MS -
DEFAULT_COMMIT_LOG_TRANSFER_CLASS
The fully qualifiedCommitLogTransferclass used to transfer commit logs. The default option will delete all commit log files after processing (successful or otherwise). You can extend a custom implementation.- See Also:
-
COMMIT_LOG_TRANSFER_CLASS
public static final io.debezium.config.Field COMMIT_LOG_TRANSFER_CLASS -
OFFSET_BACKING_STORE_DIR
public static final io.debezium.config.Field OFFSET_BACKING_STORE_DIR -
DEFAULT_OFFSET_FLUSH_INTERVAL_MS
public static final int DEFAULT_OFFSET_FLUSH_INTERVAL_MSThe default value of 0 implies the offset will be flushed every time.- See Also:
-
OFFSET_FLUSH_INTERVAL_MS
public static final io.debezium.config.Field OFFSET_FLUSH_INTERVAL_MS -
DEFAULT_MAX_OFFSET_FLUSH_SIZE
public static final int DEFAULT_MAX_OFFSET_FLUSH_SIZEThis config is effective only if offset_flush_interval_ms != 0- See Also:
-
MAX_OFFSET_FLUSH_SIZE
public static final io.debezium.config.Field MAX_OFFSET_FLUSH_SIZE -
DEFAULT_SCHEMA_POLL_INTERVAL_MS
public static final int DEFAULT_SCHEMA_POLL_INTERVAL_MS- See Also:
-
SCHEMA_POLL_INTERVAL_MS
public static final io.debezium.config.Field SCHEMA_POLL_INTERVAL_MS -
DEFAULT_CDC_DIR_POLL_INTERVAL_MS
public static final int DEFAULT_CDC_DIR_POLL_INTERVAL_MS- See Also:
-
CDC_DIR_POLL_INTERVAL_MS
public static final io.debezium.config.Field CDC_DIR_POLL_INTERVAL_MS -
DEFAULT_SNAPSHOT_POLL_INTERVAL_MS
public static final int DEFAULT_SNAPSHOT_POLL_INTERVAL_MS- See Also:
-
SNAPSHOT_POLL_INTERVAL_MS
public static final io.debezium.config.Field SNAPSHOT_POLL_INTERVAL_MS -
DEFAULT_COMMIT_LOG_RELOCATION_DIR_POLL_INTERVAL_MS
public static final int DEFAULT_COMMIT_LOG_RELOCATION_DIR_POLL_INTERVAL_MS- See Also:
-
COMMIT_LOG_RELOCATION_DIR_POLL_INTERVAL_MS
public static final io.debezium.config.Field COMMIT_LOG_RELOCATION_DIR_POLL_INTERVAL_MS -
DEFAULT_NUM_OF_CHANGE_EVENT_QUEUES
public static final int DEFAULT_NUM_OF_CHANGE_EVENT_QUEUES- See Also:
-
NUM_OF_CHANGE_EVENT_QUEUES
public static final io.debezium.config.Field NUM_OF_CHANGE_EVENT_QUEUES -
FIELD_EXCLUDE_LIST
public static final io.debezium.config.Field FIELD_EXCLUDE_LISTA comma-separated list of fully-qualified names of fields that should be excluded from change event message values. Fully-qualified names for fields are in the form<keyspace_name>.<field_name>.<nested_field_name>. -
CASSANDRA_DRIVER_CONFIG_FILE
public static final io.debezium.config.Field CASSANDRA_DRIVER_CONFIG_FILE -
DEFAULT_LATEST_COMMIT_LOG_ONLY
public static final boolean DEFAULT_LATEST_COMMIT_LOG_ONLYInstead of parsing commit logs from CDC directory, this will look for the commit log with the latest modified timestamp in the commit log directory and attempt to process this file only. Only used for Testing!- See Also:
-
LATEST_COMMIT_LOG_ONLY
public static final io.debezium.config.Field LATEST_COMMIT_LOG_ONLY -
DEFAULT_POLL_INTERVAL_MS
public static final int DEFAULT_POLL_INTERVAL_MS- See Also:
-
DEFAULT_TOMBSTONES_ON_DELETE
public static final boolean DEFAULT_TOMBSTONES_ON_DELETE- See Also:
-
DEFAULT_SNAPSHOT_FETCH_SIZE
protected static final int DEFAULT_SNAPSHOT_FETCH_SIZE- See Also:
-
DECIMAL_HANDLING_MODE
public static final io.debezium.config.Field DECIMAL_HANDLING_MODEMust be one of 'DOUBLE', 'PRECISE', or 'STRING'. The default decimal handling mode is 'DOUBLE'. Seefor details. -
VARINT_HANDLING_MODE
public static final io.debezium.config.Field VARINT_HANDLING_MODEMust be one of 'LONG', 'PRECISE', or 'STRING'. The default varint handling mode is 'LONG'. Seefor details. -
CASSANDRA_NODE_ID
static final io.debezium.config.Field CASSANDRA_NODE_ID -
SOURCE_INFO_STRUCT_MAKER
public static final io.debezium.config.Field SOURCE_INFO_STRUCT_MAKER -
validationFieldList
-
-
Constructor Details
-
CassandraConnectorConfig
public CassandraConnectorConfig(io.debezium.config.Configuration config)
-
-
Method Details
-
isCommitLogRealTimeProcessingEnabled
public boolean isCommitLogRealTimeProcessingEnabled() -
getCommitLogMarkedCompletePollInterval
public int getCommitLogMarkedCompletePollInterval() -
getKafkaConfigs
-
commitLogTransferConfigs
-
latestCommitLogOnly
public boolean latestCommitLogOnly() -
snapshotMode
-
snapshotConsistencyLevel
public com.datastax.oss.driver.api.core.ConsistencyLevel snapshotConsistencyLevel() -
httpPort
public int httpPort() -
cassandraConfig
-
commitLogRelocationDir
-
postProcessEnabled
public boolean postProcessEnabled() -
errorCommitLogReprocessEnabled
public boolean errorCommitLogReprocessEnabled() -
getCommitLogTransfer
-
offsetBackingStoreDir
-
offsetFlushIntervalMs
-
maxOffsetFlushSize
public long maxOffsetFlushSize() -
maxQueueSize
public int maxQueueSize() -
maxBatchSize
public int maxBatchSize() -
cassandraDriverConfig
-
pollInterval
Positive integer value that specifies the number of milliseconds the commit log processor should wait during each iteration for new change events to appear in the queue. Defaults to 1000 milliseconds, or 1 second. -
schemaPollInterval
-
cdcDirPollInterval
-
snapshotPollInterval
-
commitLogRelocationDirPollInterval
-
numOfChangeEventQueues
public int numOfChangeEventQueues() -
fieldExcludeList
-
tombstonesOnDelete
public boolean tombstonesOnDelete()Whether deletion events should have a subsequent tombstone event (true) or not (false). It's important to note that in Cassandra, two events with the same key may be updating different columns of a given table. So this could potentially result in records being lost during compaction if they haven't been consumed by the consumer yet. In other words, do NOT set this to true if you have kafka compaction turned on. -
getDecimalMode
-
getVarIntMode
-
getKeyConverter
public org.apache.kafka.connect.storage.Converter getKeyConverter() throws CassandraConnectorConfigException -
getValueConverter
public org.apache.kafka.connect.storage.Converter getValueConverter() throws CassandraConnectorConfigException -
keyValueConverterConfigs
-
toString
-
getContextName
- Specified by:
getContextNamein classio.debezium.config.CommonConnectorConfig
-
getSourceInfoStructMaker
protected io.debezium.connector.SourceInfoStructMaker<? extends io.debezium.connector.AbstractSourceInfo> getSourceInfoStructMaker(io.debezium.config.CommonConnectorConfig.Version version) - Specified by:
getSourceInfoStructMakerin classio.debezium.config.CommonConnectorConfig
-
getConnectorName
- Specified by:
getConnectorNamein classio.debezium.config.CommonConnectorConfig
-
getValidationFieldSet
public io.debezium.config.Field.Set getValidationFieldSet() -
setValidationFieldList
-
getNodeId
-