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.CommonConnectorConfigAll configs used by a Cassandra connector agent.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCassandraConnectorConfig.SnapshotModeThe set of predefined SnapshotMode options.
-
Field Summary
Fields Modifier and Type Field Description static io.debezium.config.FieldCASSANDRA_CONFIGstatic io.debezium.config.FieldCASSANDRA_HOSTSstatic io.debezium.config.FieldCASSANDRA_PASSWORDstatic io.debezium.config.FieldCASSANDRA_PORTstatic io.debezium.config.FieldCASSANDRA_SSL_CONFIG_PATHstatic io.debezium.config.FieldCASSANDRA_SSL_ENABLEDstatic io.debezium.config.FieldCASSANDRA_USERNAMEstatic io.debezium.config.FieldCDC_DIR_POLL_INTERVAL_MSstatic io.debezium.config.FieldCOMMIT_LOG_ERROR_REPROCESSING_ENABLEDstatic io.debezium.config.FieldCOMMIT_LOG_POST_PROCESSING_ENABLEDstatic io.debezium.config.FieldCOMMIT_LOG_RELOCATION_DIRstatic io.debezium.config.FieldCOMMIT_LOG_RELOCATION_DIR_POLL_INTERVAL_MSstatic io.debezium.config.FieldCOMMIT_LOG_TRANSFER_CLASSstatic StringCOMMIT_LOG_TRANSFER_CONFIG_PREFIXThe prefix for allCommitLogTransferconfigurations.static io.debezium.config.FieldCONNECTOR_NAMEstatic StringDEFAULT_CASSANDRA_HOSTstatic intDEFAULT_CASSANDRA_PORTstatic booleanDEFAULT_CASSANDRA_SSL_ENABLEDstatic intDEFAULT_CDC_DIR_POLL_INTERVAL_MSstatic booleanDEFAULT_COMMIT_LOG_ERROR_REPROCESSING_ENABLEDstatic booleanDEFAULT_COMMIT_LOG_POST_PROCESSING_ENABLEDIf disabled, commit logs would not be deleted post-process, and this could lead to disk storagestatic intDEFAULT_COMMIT_LOG_RELOCATION_DIR_POLL_INTERVAL_MSstatic StringDEFAULT_COMMIT_LOG_TRANSFER_CLASSThe fully qualifiedCommitLogTransferclass used to transfer commit logs.static intDEFAULT_HTTP_PORTstatic booleanDEFAULT_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.static intDEFAULT_MAX_OFFSET_FLUSH_SIZEThis config is effective only if offset_flush_interval_ms != 0static intDEFAULT_NUM_OF_CHANGE_EVENT_QUEUESstatic intDEFAULT_OFFSET_FLUSH_INTERVAL_MSThe default value of 0 implies the offset will be flushed every time.static intDEFAULT_POLL_INTERVAL_MSstatic intDEFAULT_SCHEMA_POLL_INTERVAL_MSstatic StringDEFAULT_SNAPSHOT_CONSISTENCYSpecify theConsistencyLevelused for the snapshot query.protected static intDEFAULT_SNAPSHOT_FETCH_SIZEstatic StringDEFAULT_SNAPSHOT_MODEMust be one of 'INITIAL', 'ALWAYS', or 'NEVER'.static intDEFAULT_SNAPSHOT_POLL_INTERVAL_MSstatic booleanDEFAULT_TOMBSTONES_ON_DELETEstatic io.debezium.config.FieldFIELD_BLACKLISTDeprecated.static io.debezium.config.FieldFIELD_EXCLUDE_LISTA comma-separated list of fully-qualified names of fields that should be excluded from change event message values.static io.debezium.config.FieldHTTP_PORTstatic StringKAFKA_PRODUCER_CONFIG_PREFIXThe prefix prepended to all Kafka producer configurations, including schema registrystatic io.debezium.config.FieldKAFKA_TOPIC_PREFIXstatic io.debezium.config.FieldKEY_CONVERTER_CLASS_CONFIGstatic StringKEY_CONVERTER_PREFIXThe prefix prepended to all Kafka key converter configurations, including schema registry.static io.debezium.config.FieldLATEST_COMMIT_LOG_ONLYstatic io.debezium.config.FieldMAX_OFFSET_FLUSH_SIZEstatic io.debezium.config.FieldNUM_OF_CHANGE_EVENT_QUEUESstatic io.debezium.config.FieldOFFSET_BACKING_STORE_DIRstatic io.debezium.config.FieldOFFSET_FLUSH_INTERVAL_MSstatic io.debezium.config.FieldSCHEMA_POLL_INTERVAL_MSstatic io.debezium.config.FieldSNAPSHOT_CONSISTENCYstatic io.debezium.config.FieldSNAPSHOT_MODEstatic io.debezium.config.FieldSNAPSHOT_POLL_INTERVAL_MSstatic io.debezium.config.Field.SetVALIDATION_FIELDSstatic List<io.debezium.config.Field>validationFieldListstatic io.debezium.config.FieldVALUE_CONVERTER_CLASS_CONFIGstatic StringVALUE_CONVERTER_PREFIXThe prefix prepended to all Kafka value converter configurations, including schema registry.-
Fields inherited from class io.debezium.config.CommonConnectorConfig
BINARY_HANDLING_MODE, CONFIG_DEFINITION, CUSTOM_CONVERTERS, CUSTOM_RETRIABLE_EXCEPTION, DATABASE_CONFIG_PREFIX, DEFAULT_MAX_BATCH_SIZE, DEFAULT_MAX_QUEUE_SIZE, DEFAULT_MAX_QUEUE_SIZE_IN_BYTES, DEFAULT_POLL_INTERVAL_MILLIS, DEFAULT_QUERY_FETCH_SIZE, DEFAULT_RETRIABLE_RESTART_WAIT, EVENT_PROCESSING_FAILURE_HANDLING_MODE, INCREMENTAL_SNAPSHOT_ALLOW_SCHEMA_CHANGES, INCREMENTAL_SNAPSHOT_CHUNK_SIZE, MAX_BATCH_SIZE, MAX_QUEUE_SIZE, MAX_QUEUE_SIZE_IN_BYTES, POLL_INTERVAL_MS, PROVIDE_TRANSACTION_METADATA, QUERY_FETCH_SIZE, RETRIABLE_RESTART_WAIT, SANITIZE_FIELD_NAMES, SIGNAL_DATA_COLLECTION, SKIPPED_OPERATIONS, SNAPSHOT_DELAY_MS, SNAPSHOT_FETCH_SIZE, SNAPSHOT_MAX_THREADS, SNAPSHOT_MODE_TABLES, SOURCE_STRUCT_MAKER_VERSION, TASK_ID, TOMBSTONES_ON_DELETE, TRANSACTION_TOPIC
-
-
Constructor Summary
Constructors Constructor Description CassandraConnectorConfig(io.debezium.config.Configuration config)
-
Method Summary
-
Methods inherited from class io.debezium.config.CommonConnectorConfig
binaryHandlingMode, customConverterRegistry, customRetriableException, getConfig, getDataCollectionsToBeSnapshotted, getEventProcessingFailureHandlingMode, getHeartbeatInterval, getHeartbeatTopicsPrefix, getIncrementalSnashotChunkSize, getLogicalName, getMaxBatchSize, getMaxQueueSize, getMaxQueueSizeInBytes, getPollInterval, getQueryFetchSize, getRetriableRestartWait, getSanitizeFieldNames, getSignalingDataCollectionId, getSkippedOperations, getSnapshotDelay, getSnapshotFetchSize, getSnapshotMaxThreads, getSourceInfoStructMaker, getTaskId, getTransactionTopic, isEmitTombstoneOnDelete, isIncrementalSnapshotSchemaChangesEnabled, isSchemaChangesHistoryEnabled, isSchemaCommentsHistoryEnabled, isSignalDataCollection, legacyGetDataCollectionsToBeSnapshotted, parseSignallingMessage, shouldProvideTransactionMetadata, supportsOperationFiltering, supportsSchemaChangesDuringIncrementalSnapshot, validate, validateAndRecord, validateServerNameIsDifferentFromHistoryTopicName, validateSkippedOperation
-
-
-
-
Field Detail
-
KAFKA_PRODUCER_CONFIG_PREFIX
public static final String KAFKA_PRODUCER_CONFIG_PREFIX
The prefix prepended to all Kafka producer configurations, including schema registry- See Also:
- Constant Field Values
-
KEY_CONVERTER_PREFIX
public static final String KEY_CONVERTER_PREFIX
The prefix prepended to all Kafka key converter configurations, including schema registry.- See Also:
- Constant Field Values
-
VALUE_CONVERTER_PREFIX
public static final String VALUE_CONVERTER_PREFIX
The prefix prepended to all Kafka value converter configurations, including schema registry.- See Also:
- Constant Field Values
-
COMMIT_LOG_TRANSFER_CONFIG_PREFIX
public static final String COMMIT_LOG_TRANSFER_CONFIG_PREFIX
The prefix for allCommitLogTransferconfigurations.- See Also:
- Constant Field Values
-
CONNECTOR_NAME
public static final io.debezium.config.Field CONNECTOR_NAME
-
KAFKA_TOPIC_PREFIX
public static final io.debezium.config.Field KAFKA_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
public static final String DEFAULT_SNAPSHOT_MODE
Must be one of 'INITIAL', 'ALWAYS', or 'NEVER'. The default snapshot mode is 'INITIAL'. Seefor details.- See Also:
- Constant Field Values
-
SNAPSHOT_MODE
public static final io.debezium.config.Field SNAPSHOT_MODE
-
DEFAULT_SNAPSHOT_CONSISTENCY
public static final String DEFAULT_SNAPSHOT_CONSISTENCY
Specify theConsistencyLevelused for the snapshot query.- See Also:
- Constant Field Values
-
SNAPSHOT_CONSISTENCY
public static final io.debezium.config.Field SNAPSHOT_CONSISTENCY
-
DEFAULT_HTTP_PORT
public static final int DEFAULT_HTTP_PORT
- See Also:
- Constant Field Values
-
HTTP_PORT
public static final io.debezium.config.Field HTTP_PORT
-
CASSANDRA_CONFIG
public static final io.debezium.config.Field CASSANDRA_CONFIG
-
DEFAULT_CASSANDRA_HOST
public static final String DEFAULT_CASSANDRA_HOST
- See Also:
- Constant Field Values
-
CASSANDRA_HOSTS
public static final io.debezium.config.Field CASSANDRA_HOSTS
-
DEFAULT_CASSANDRA_PORT
public static final int DEFAULT_CASSANDRA_PORT
- See Also:
- Constant Field Values
-
CASSANDRA_PORT
public static final io.debezium.config.Field CASSANDRA_PORT
-
CASSANDRA_USERNAME
public static final io.debezium.config.Field CASSANDRA_USERNAME
-
CASSANDRA_PASSWORD
public static final io.debezium.config.Field CASSANDRA_PASSWORD
-
DEFAULT_CASSANDRA_SSL_ENABLED
public static final boolean DEFAULT_CASSANDRA_SSL_ENABLED
- See Also:
- Constant Field Values
-
CASSANDRA_SSL_ENABLED
public static final io.debezium.config.Field CASSANDRA_SSL_ENABLED
-
CASSANDRA_SSL_CONFIG_PATH
public static final io.debezium.config.Field CASSANDRA_SSL_CONFIG_PATH
-
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_ENABLED
If disabled, commit logs would not be deleted post-process, and this could lead to disk storage- See Also:
- Constant Field Values
-
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:
- Constant Field Values
-
COMMIT_LOG_ERROR_REPROCESSING_ENABLED
public static final io.debezium.config.Field COMMIT_LOG_ERROR_REPROCESSING_ENABLED
-
DEFAULT_COMMIT_LOG_TRANSFER_CLASS
public static final String 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:
- Constant Field Values
-
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_MS
The default value of 0 implies the offset will be flushed every time.- See Also:
- Constant Field Values
-
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_SIZE
This config is effective only if offset_flush_interval_ms != 0- See Also:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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:
- Constant Field Values
-
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_LIST
A 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>.
-
FIELD_BLACKLIST
@Deprecated public static final io.debezium.config.Field FIELD_BLACKLIST
Deprecated.Old, backwards-compatible "blacklist" property.
-
DEFAULT_LATEST_COMMIT_LOG_ONLY
public static final boolean DEFAULT_LATEST_COMMIT_LOG_ONLY
Instead 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:
- Constant Field Values
-
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:
- Constant Field Values
-
DEFAULT_TOMBSTONES_ON_DELETE
public static final boolean DEFAULT_TOMBSTONES_ON_DELETE
- See Also:
- Constant Field Values
-
DEFAULT_SNAPSHOT_FETCH_SIZE
protected static final int DEFAULT_SNAPSHOT_FETCH_SIZE
- See Also:
- Constant Field Values
-
validationFieldList
public static List<io.debezium.config.Field> validationFieldList
-
VALIDATION_FIELDS
public static io.debezium.config.Field.Set VALIDATION_FIELDS
-
-
Method Detail
-
connectorName
public String connectorName()
-
kafkaTopicPrefix
public String kafkaTopicPrefix()
-
getKafkaConfigs
public Properties getKafkaConfigs()
-
commitLogTransferConfigs
public Properties commitLogTransferConfigs()
-
latestCommitLogOnly
public boolean latestCommitLogOnly()
-
snapshotMode
public CassandraConnectorConfig.SnapshotMode snapshotMode()
-
snapshotConsistencyLevel
public com.datastax.driver.core.ConsistencyLevel snapshotConsistencyLevel()
-
httpPort
public int httpPort()
-
cassandraConfig
public String cassandraConfig()
-
cassandraHosts
public String[] cassandraHosts()
-
cassandraPort
public int cassandraPort()
-
cassandraSslEnabled
public boolean cassandraSslEnabled()
-
cassandraSslConfigPath
public String cassandraSslConfigPath()
-
cassandraUsername
public String cassandraUsername()
-
cassandraPassword
public String cassandraPassword()
-
commitLogRelocationDir
public String commitLogRelocationDir()
-
postProcessEnabled
public boolean postProcessEnabled()
-
errorCommitLogReprocessEnabled
public boolean errorCommitLogReprocessEnabled()
-
getCommitLogTransfer
public CommitLogTransfer getCommitLogTransfer()
-
offsetBackingStoreDir
public String offsetBackingStoreDir()
-
offsetFlushIntervalMs
public Duration offsetFlushIntervalMs()
-
maxOffsetFlushSize
public long maxOffsetFlushSize()
-
maxQueueSize
public int maxQueueSize()
-
maxBatchSize
public int maxBatchSize()
-
pollInterval
public Duration 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
public Duration schemaPollInterval()
-
cdcDirPollInterval
public Duration cdcDirPollInterval()
-
snapshotPollInterval
public Duration snapshotPollInterval()
-
commitLogRelocationDirPollInterval
public Duration commitLogRelocationDirPollInterval()
-
numOfChangeEventQueues
public int numOfChangeEventQueues()
-
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.
-
getKeyConverter
public org.apache.kafka.connect.storage.Converter getKeyConverter() throws CassandraConnectorConfigException
-
getValueConverter
public org.apache.kafka.connect.storage.Converter getValueConverter() throws CassandraConnectorConfigException
-
keyValueConverterConfigs
private Map<String,Object> keyValueConverterConfigs(String converterPrefix)
-
getContextName
public String 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
public String getConnectorName()
- Specified by:
getConnectorNamein classio.debezium.config.CommonConnectorConfig
-
-