Table of Contents

Class KafkaChannelConfiguration

Namespace
MASES.DataDistributionManager.Bindings.Configuration
Assembly
DataDistributionManagerNet.dll

The configuration class for Kafka channel

public class KafkaChannelConfiguration : KafkaConfiguration, IConfiguration, INotifyPropertyChanged
Inheritance
KafkaChannelConfiguration
Implements
Inherited Members

Constructors

KafkaChannelConfiguration(KafkaConfiguration)

Duplicates a configuration

public KafkaChannelConfiguration(KafkaConfiguration originalConf)

Parameters

originalConf KafkaConfiguration

IConfiguration to duplicate

Fields

AllowAutoCreateTopicsKey

Configuration key of AllowAutoCreateTopics

public const string AllowAutoCreateTopicsKey = "datadistributionmanager.kafka.globalconf.allow.auto.create.topics"

Field Value

string

ApiVersionFallbackKey

Configuration key of ApiVersionFallback

public const string ApiVersionFallbackKey = "datadistributionmanager.kafka.globalconf.api.version.fallback.ms"

Field Value

string

ApiVersionRequestKey

Configuration key of ApiVersionRequest

public const string ApiVersionRequestKey = "datadistributionmanager.kafka.globalconf.api.version.request"

Field Value

string

ApiVersionRequestTimeoutKey

Configuration key of ApiVersionRequestTimeout

public const string ApiVersionRequestTimeoutKey = "datadistributionmanager.kafka.globalconf.api.version.request.timeout.ms"

Field Value

string

AutoCommitIntervalKey

Configuration key of AutoCommitInterval

public const string AutoCommitIntervalKey = "datadistributionmanager.kafka.globalconf.auto.commit.interval.ms"

Field Value

string

AutoOffsetResetKey

Configuration key of AutoOffsetReset

public const string AutoOffsetResetKey = "datadistributionmanager.kafka.topicconf.auto.offset.reset"

Field Value

string

BatchNumMessagesKey

Configuration key of BatchNumMessages

public const string BatchNumMessagesKey = "datadistributionmanager.kafka.globalconf.batch.num.messages"

Field Value

string

BatchSizeKey

Configuration key of BatchSizeKey

public const string BatchSizeKey = "datadistributionmanager.kafka.globalconf.batch.size"

Field Value

string

BootstrapBrokersKey

Configuration key of BootstrapBrokers

public const string BootstrapBrokersKey = "datadistributionmanager.kafka.globalconf.metadata.broker.list"

Field Value

string

BrokerAddressFamilyKey

Configuration key of BrokerAddressFamily

public const string BrokerAddressFamilyKey = "datadistributionmanager.kafka.globalconf.broker.address.family"

Field Value

string

BrokerAddressTtlKey

Configuration key of BrokerAddressTtl

public const string BrokerAddressTtlKey = "datadistributionmanager.kafka.globalconf.broker.address.ttl"

Field Value

string

BrokerVersionFallbackKey

Configuration key of BrokerVersionFallback

public const string BrokerVersionFallbackKey = "datadistributionmanager.kafka.globalconf.broker.version.fallback"

Field Value

string

BuiltinFeaturesKey

Configuration key of BuiltinFeatures

public const string BuiltinFeaturesKey = "datadistributionmanager.kafka.globalconf.builtin.features"

Field Value

string

CheckCrcsKey

Configuration key of CheckCrcs

public const string CheckCrcsKey = "datadistributionmanager.kafka.globalconf.check.crcs"

Field Value

string

ClientIdKey

Configuration key of ClientId

public const string ClientIdKey = "datadistributionmanager.kafka.globalconf.client.id"

Field Value

string

ClientRackKey

Configuration key of ClientRack

public const string ClientRackKey = "datadistributionmanager.kafka.globalconf.client.rack"

Field Value

string

CompressionCodecKey

Configuration key of CompressionCodec

public const string CompressionCodecKey = "datadistributionmanager.kafka.globalconf.compression.codec"

Field Value

string

CompressionLevelKey

Configuration key of CompressionLevel

public const string CompressionLevelKey = "datadistributionmanager.kafka.topicconf.compression.level"

Field Value

string

ConnectionsMaxIdleKey

Configuration key of ConnectionsMaxIdle

public const string ConnectionsMaxIdleKey = "datadistributionmanager.kafka.globalconf.connections.max.idle.ms"

Field Value

string

ConsumeCallbackMaxMessagesKey

Configuration key of ConsumeCallbackMaxMessages

public const string ConsumeCallbackMaxMessagesKey = "datadistributionmanager.kafka.topicconf.consume.callback.max.messages"

Field Value

string

CoordinatorQueryIntervalKey

Configuration key of CoordinatorQueryInterval

public const string CoordinatorQueryIntervalKey = "datadistributionmanager.kafka.globalconf.coordinator.query.interval.ms"

Field Value

string

DebugKey

Configuration key of Debug

public const string DebugKey = "datadistributionmanager.kafka.globalconf.debug"

Field Value

string

DeliveryReportOnlyErrorKey

Configuration key of DeliveryReportOnlyError

public const string DeliveryReportOnlyErrorKey = "datadistributionmanager.kafka.globalconf.delivery.report.only.error"

Field Value

string

DumpMetadataKey

Configuration key of DumpMetadata

public const string DumpMetadataKey = "datadistributionmanager.kafka.topic_dumpmetadata"

Field Value

string

EnableAutoCommitKey

Configuration key of EnableAutoCommit

public const string EnableAutoCommitKey = "datadistributionmanager.kafka.globalconf.enable.auto.commit"

Field Value

string

EnableAutoOffsetStoreKey

Configuration key of EnableAutoOffsetStore

public const string EnableAutoOffsetStoreKey = "datadistributionmanager.kafka.globalconf.enable.auto.offset.store"

Field Value

string

EnableGaplessGuaranteeKey

Configuration key of EnableGaplessGuarantee

public const string EnableGaplessGuaranteeKey = "datadistributionmanager.kafka.globalconf.enable.gapless.guarantee"

Field Value

string

EnableIdempotenceKey

Configuration key of EnableIdempotence

public const string EnableIdempotenceKey = "datadistributionmanager.kafka.globalconf.enable.idempotence"

Field Value

string

EnablePartitionEofKey

Configuration key of EnablePartitionEof

public const string EnablePartitionEofKey = "datadistributionmanager.kafka.globalconf.enable.partition.eof"

Field Value

string

EnableRandomSeedKey

Configuration key of EnableRandomSeed

public const string EnableRandomSeedKey = "datadistributionmanager.kafka.globalconf.enable.random.seed"

Field Value

string

EnableSaslOauthbearerUnsecureJwtKey

Configuration key of EnableSaslOauthbearerUnsecureJwt

public const string EnableSaslOauthbearerUnsecureJwtKey = "datadistributionmanager.kafka.globalconf.enable.sasl.oauthbearer.unsecure.jwt"

Field Value

string

EnableSslCertificateVerificationKey

Configuration key of EnableSslCertificateVerification

public const string EnableSslCertificateVerificationKey = "datadistributionmanager.kafka.globalconf.enable.ssl.certificate.verification"

Field Value

string

FetchErrorBackoffKey

Configuration key of FetchErrorBackoff

public const string FetchErrorBackoffKey = "datadistributionmanager.kafka.globalconf.fetch.error.backoff.ms"

Field Value

string

FetchMaxBytesKey

Configuration key of FetchMaxBytes

public const string FetchMaxBytesKey = "datadistributionmanager.kafka.globalconf.fetch.max.bytes"

Field Value

string

FetchMessageMaxBytesKey

Configuration key of FetchMessageMaxBytes

public const string FetchMessageMaxBytesKey = "datadistributionmanager.kafka.globalconf.fetch.message.max.bytes"

Field Value

string

FetchMinBytesKey

Configuration key of FetchMinBytes

public const string FetchMinBytesKey = "datadistributionmanager.kafka.globalconf.fetch.min.bytes"

Field Value

string

FetchWaitMaxKey

Configuration key of FetchWaitMax

public const string FetchWaitMaxKey = "datadistributionmanager.kafka.globalconf.fetch.wait.max.ms"

Field Value

string

GroupIdKey

Configuration key of GroupId

public const string GroupIdKey = "datadistributionmanager.kafka.globalconf.group.id"

Field Value

string

GroupInstanceIdKey

Configuration key of GroupInstanceId

public const string GroupInstanceIdKey = "datadistributionmanager.kafka.globalconf.group.instance.id"

Field Value

string

GroupProtocolTypeKey

Configuration key of GroupProtocolType

public const string GroupProtocolTypeKey = "datadistributionmanager.kafka.globalconf.group.protocol.type"

Field Value

string

HeartbeatIntervalKey

Configuration key of HeartbeatInterval

public const string HeartbeatIntervalKey = "datadistributionmanager.kafka.globalconf.heartbeat.interval.ms"

Field Value

string

IntervalTerminationSignalKey

Configuration key of IntervalTerminationSignal

public const string IntervalTerminationSignalKey = "datadistributionmanager.kafka.globalconf.internal.termination.signal"

Field Value

string

IsolationLevelKey

Configuration key of IsolationLevel

public const string IsolationLevelKey = "datadistributionmanager.kafka.globalconf.isolation.level"

Field Value

string

KafkaGlobalConfigurationBasePropertyKey

Base property name of all specific configuration key of KafkaConfiguration for global configuration

public const string KafkaGlobalConfigurationBasePropertyKey = "datadistributionmanager.kafka.globalconf."

Field Value

string

KafkaTopicConfigurationBasePropertyKey

Base property name of all specific configuration key of KafkaConfiguration for topic configuration

public const string KafkaTopicConfigurationBasePropertyKey = "datadistributionmanager.kafka.topicconf."

Field Value

string

LogConnectionCloseKey

Configuration key of LogConnectionClose

public const string LogConnectionCloseKey = "datadistributionmanager.kafka.globalconf.log.connection.close"

Field Value

string

LogLevelKey

Configuration key of LogLevel

public const string LogLevelKey = "datadistributionmanager.kafka.globalconf.log_level"

Field Value

string

LogQueueKey

Configuration key of LogQueue

public const string LogQueueKey = "datadistributionmanager.kafka.globalconf.log.queue"

Field Value

string

LogThreadNameKey

Configuration key of LogThreadName

public const string LogThreadNameKey = "datadistributionmanager.kafka.globalconf.log.thread.name"

Field Value

string

MaxInFlightRequestsPerConnectionKey

Configuration key of MaxInFlightRequestsPerConnection

public const string MaxInFlightRequestsPerConnectionKey = "datadistributionmanager.kafka.globalconf.max.in.flight.requests.per.connection"

Field Value

string

MaxPollIntervalKey

Configuration key of MaxPollInterval

public const string MaxPollIntervalKey = "datadistributionmanager.kafka.globalconf.max.poll.interval.ms"

Field Value

string

MessageCopyMaxBytesKey

Configuration key of MessageCopyMaxBytes

public const string MessageCopyMaxBytesKey = "datadistributionmanager.kafka.globalconf.message.copy.max.bytes"

Field Value

string

MessageMaxBytesKey

Configuration key of MessageMaxBytes

public const string MessageMaxBytesKey = "datadistributionmanager.kafka.globalconf.message.max.bytes"

Field Value

string

MessageSendMaxRetriesKey

Configuration key of MessageSendMaxRetries

public const string MessageSendMaxRetriesKey = "datadistributionmanager.kafka.globalconf.message.send.max.retries"

Field Value

string

MessageTimeoutKey

Configuration key of MessageTimeout

public const string MessageTimeoutKey = "datadistributionmanager.kafka.topicconf.message.timeout.ms"

Field Value

string

MetadataMaxAgeKey

Configuration key of MetadataMaxAge

public const string MetadataMaxAgeKey = "datadistributionmanager.kafka.globalconf.metadata.max.age.ms"

Field Value

string

MetadataRequestTimeoutKey

Configuration key of MetadataRequestTimeout

public const string MetadataRequestTimeoutKey = "datadistributionmanager.kafka.globalconf.metadata.request.timeout.ms"

Field Value

string

PartitionAssignmentStrategyKey

Configuration key of PartitionAssignmentStrategy

public const string PartitionAssignmentStrategyKey = "datadistributionmanager.kafka.globalconf.partition.assignment.strategy"

Field Value

string

PartitionerKey

Configuration key of Partitioner

public const string PartitionerKey = "datadistributionmanager.kafka.topicconf.partitioner"

Field Value

string

PluginLibraryPathsKey

Configuration key of PluginLibraryPaths

public const string PluginLibraryPathsKey = "datadistributionmanager.kafka.globalconf.plugin.library.paths"

Field Value

string

QueueBufferingBackpressureThresholdKey

public const string QueueBufferingBackpressureThresholdKey = "datadistributionmanager.kafka.globalconf.queue.buffering.backpressure.threshold"

Field Value

string

QueueBufferingMaxKbKey

Configuration key of QueueBufferingMaxKb

public const string QueueBufferingMaxKbKey = "datadistributionmanager.kafka.globalconf.queue.buffering.max.kbytes"

Field Value

string

QueueBufferingMaxMessagesKey

Configuration key of QueueBufferingMaxMessages

public const string QueueBufferingMaxMessagesKey = "datadistributionmanager.kafka.globalconf.queue.buffering.max.messages"

Field Value

string

QueueBufferingMaxMsKey

Configuration key of QueueBufferingMaxMs

public const string QueueBufferingMaxMsKey = "datadistributionmanager.kafka.globalconf.queue.buffering.max.ms"

Field Value

string

QueuedMaxMessagesKbKey

Configuration key of QueuedMaxMessagesKb

public const string QueuedMaxMessagesKbKey = "datadistributionmanager.kafka.globalconf.queued.max.messages.kbytes"

Field Value

string

QueuedMinMessagesKey

Configuration key of QueuedMinMessages

public const string QueuedMinMessagesKey = "datadistributionmanager.kafka.globalconf.queued.min.messages"

Field Value

string

QueueingStrategyKey

Configuration key of QueueingStrategy

public const string QueueingStrategyKey = "datadistributionmanager.kafka.topicconf.queuing.strategy"

Field Value

string

ReceiveMessageMaxBytesKey

Configuration key of ReceiveMessageMaxBytes

public const string ReceiveMessageMaxBytesKey = "datadistributionmanager.kafka.globalconf.receive.message.max.bytes"

Field Value

string

ReconnectBackoffKey

Configuration key of ReconnectBackoff

public const string ReconnectBackoffKey = "datadistributionmanager.kafka.globalconf.reconnect.backoff.ms"

Field Value

string

ReconnectBackoffMaxKey

Configuration key of ReconnectBackoffMax

public const string ReconnectBackoffMaxKey = "datadistributionmanager.kafka.globalconf.reconnect.backoff.max.ms"

Field Value

string

ReplicationFactorKey

Configuration key of ReplicationFactor

public const string ReplicationFactorKey = "datadistributionmanager.kafka.topic_replicationfactor"

Field Value

string

RequestRequiredAcksKey

Configuration key of RequestRequiredAcks

public const string RequestRequiredAcksKey = "datadistributionmanager.kafka.topicconf.request.required.acks"

Field Value

string

RequestTimeoutKey

Configuration key of RequestTimeout

public const string RequestTimeoutKey = "datadistributionmanager.kafka.topicconf.request.timeout.ms"

Field Value

string

RetryBackoffKey

Configuration key of RetryBackoff

public const string RetryBackoffKey = "datadistributionmanager.kafka.globalconf.retry.backoff.ms"

Field Value

string

SaslKerberosKeytabKey

Configuration key of SaslKerberosKeytab

public const string SaslKerberosKeytabKey = "datadistributionmanager.kafka.globalconf.sasl.kerberos.keytab"

Field Value

string

SaslKerberosKinitCmdKey

Configuration key of SaslKerberosKinitCmd

public const string SaslKerberosKinitCmdKey = "datadistributionmanager.kafka.globalconf.sasl.kerberos.kinit.cmd"

Field Value

string

SaslKerberosMinTimeBeforeReloginKey

Configuration key of SaslKerberosMinTimeBeforeRelogin

public const string SaslKerberosMinTimeBeforeReloginKey = "datadistributionmanager.kafka.globalconf.sasl.kerberos.min.time.before.relogin"

Field Value

string

SaslKerberosPrincipalKey

Configuration key of SaslKerberosPrincipal

public const string SaslKerberosPrincipalKey = "datadistributionmanager.kafka.globalconf.sasl.kerberos.principal"

Field Value

string

SaslKerberosServiceNameKey

Configuration key of SaslKerberosServiceName

public const string SaslKerberosServiceNameKey = "datadistributionmanager.kafka.globalconf.sasl.kerberos.service.name"

Field Value

string

SaslMechanismKey

Configuration key of SaslMechanism

public const string SaslMechanismKey = "datadistributionmanager.kafka.globalconf.sasl.mechanisms"

Field Value

string

SaslOauthbearerClientIdKey

Configuration key of SaslOauthbearerClientId

public const string SaslOauthbearerClientIdKey = "datadistributionmanager.kafka.globalconf.sasl.oauthbearer.client.id"

Field Value

string

SaslOauthbearerClientSecretKey

Configuration key of SaslOauthbearerClientSecret

public const string SaslOauthbearerClientSecretKey = "datadistributionmanager.kafka.globalconf.sasl.oauthbearer.client.secret"

Field Value

string

SaslOauthbearerConfigKey

Configuration key of SaslOauthbearerConfig

public const string SaslOauthbearerConfigKey = "datadistributionmanager.kafka.globalconf.sasl.oauthbearer.config"

Field Value

string

SaslOauthbearerExtensionsKey

Configuration key of SaslOauthbearerExtensions

public const string SaslOauthbearerExtensionsKey = "datadistributionmanager.kafka.globalconf.sasl.oauthbearer.extensions"

Field Value

string

SaslOauthbearerMethodKey

Configuration key of SaslOauthbearerMethod

public const string SaslOauthbearerMethodKey = "datadistributionmanager.kafka.globalconf.sasl.oauthbearer.method"

Field Value

string

SaslOauthbearerScopeKey

Configuration key of SaslOauthbearerScope

public const string SaslOauthbearerScopeKey = "datadistributionmanager.kafka.globalconf.sasl.oauthbearer.scope"

Field Value

string

SaslOauthbearerTokenEndpointUrlKey

Configuration key of SaslOauthbearerTokenEndpointUrl

public const string SaslOauthbearerTokenEndpointUrlKey = "datadistributionmanager.kafka.globalconf.sasl.oauthbearer.token.endpoint.url"

Field Value

string

SaslPasswordKey

Configuration key of SaslPassword

public const string SaslPasswordKey = "datadistributionmanager.kafka.globalconf.sasl.password"

Field Value

string

SaslUsernameKey

Configuration key of SaslUsername

public const string SaslUsernameKey = "datadistributionmanager.kafka.globalconf.sasl.username"

Field Value

string

SecurityProtocolKey

Configuration key of SecurityProtocol

public const string SecurityProtocolKey = "datadistributionmanager.kafka.globalconf.security.protocol"

Field Value

string

SessionTimeoutKey

Configuration key of SessionTimeout

public const string SessionTimeoutKey = "datadistributionmanager.kafka.globalconf.session.timeout.ms"

Field Value

string

SocketConnectionSetupTimeoutKey

Configuration key of SocketConnectionSetupTimeout

public const string SocketConnectionSetupTimeoutKey = "datadistributionmanager.kafka.globalconf.socket.connection.setup.timeout.ms"

Field Value

string

SocketKeepaliveEnableKey

Configuration key of SocketKeepaliveEnable

public const string SocketKeepaliveEnableKey = "datadistributionmanager.kafka.globalconf.socket.keepalive.enable"

Field Value

string

SocketMaxFailsKey

Configuration key of SocketMaxFails

public const string SocketMaxFailsKey = "datadistributionmanager.kafka.globalconf.socket.max.fails"

Field Value

string

SocketNagleDisableKey

Configuration key of SocketNagleDisable

public const string SocketNagleDisableKey = "datadistributionmanager.kafka.globalconf.socket.nagle.disable"

Field Value

string

SocketReceiveBufferBytesKey

Configuration key of SocketReceiveBufferBytes

public const string SocketReceiveBufferBytesKey = "datadistributionmanager.kafka.globalconf.socket.receive.buffer.bytes"

Field Value

string

SocketSendBufferBytesKey

Configuration key of SocketSendBufferBytes

public const string SocketSendBufferBytesKey = "datadistributionmanager.kafka.globalconf.socket.send.buffer.bytes"

Field Value

string

SocketTimeoutKey

Configuration key of SocketTimeout

public const string SocketTimeoutKey = "datadistributionmanager.kafka.globalconf.socket.timeout.ms"

Field Value

string

SslCACertificateStoresKey

Configuration key of SslCACertificateStores

public const string SslCACertificateStoresKey = "datadistributionmanager.kafka.globalconf.ssl.ca.certificate.stores"

Field Value

string

SslCAKey

Configuration key of SslCA

public const string SslCAKey = "datadistributionmanager.kafka.globalconf.ssl_ca"

Field Value

string

SslCALocationKey

Configuration key of SslCALocation

public const string SslCALocationKey = "datadistributionmanager.kafka.globalconf.ssl.ca.location"

Field Value

string

SslCAPemKey

Configuration key of SslCAPem

public const string SslCAPemKey = "datadistributionmanager.kafka.globalconf.ssl.ca.pem"

Field Value

string

SslCertificateKey

Configuration key of SslCertificate

public const string SslCertificateKey = "datadistributionmanager.kafka.globalconf.ssl_certificate"

Field Value

string

SslCertificateLocationKey

Configuration key of SslCertificateLocation

public const string SslCertificateLocationKey = "datadistributionmanager.kafka.globalconf.ssl.certificate.location"

Field Value

string

SslCertificatePemKey

Configuration key of SslCertificatePem

public const string SslCertificatePemKey = "datadistributionmanager.kafka.globalconf.ssl.certificate.pem"

Field Value

string

SslCipherSuitesKey

Configuration key of SslCipherSuites

public const string SslCipherSuitesKey = "datadistributionmanager.kafka.globalconf.ssl.cipher.suites"

Field Value

string

SslCrlLocationKey

Configuration key of SslCrlLocation

public const string SslCrlLocationKey = "datadistributionmanager.kafka.globalconf.ssl.crl.location"

Field Value

string

SslCurvesListKey

Configuration key of SslCurvesList

public const string SslCurvesListKey = "datadistributionmanager.kafka.globalconf.ssl.curves.list"

Field Value

string

SslEndpointIdentificationAlgorithmKey

public const string SslEndpointIdentificationAlgorithmKey = "datadistributionmanager.kafka.globalconf.ssl.endpoint.identification.algorithm"

Field Value

string

SslEngineIdKey

Configuration key of SslEngineId

public const string SslEngineIdKey = "datadistributionmanager.kafka.globalconf.ssl.engine.id"

Field Value

string

SslEngineLocationKey

Configuration key of SslEngineLocation

public const string SslEngineLocationKey = "datadistributionmanager.kafka.globalconf.ssl.engine.location"

Field Value

string

SslKeyKey

Configuration key of SslKey

public const string SslKeyKey = "datadistributionmanager.kafka.globalconf.ssl_key"

Field Value

string

SslKeyLocationKey

Configuration key of SslKeyLocation

public const string SslKeyLocationKey = "datadistributionmanager.kafka.globalconf.ssl.key.location"

Field Value

string

SslKeyPasswordKey

Configuration key of SslKeyPassword

public const string SslKeyPasswordKey = "datadistributionmanager.kafka.globalconf.ssl.key.password"

Field Value

string

SslKeyPemKey

Configuration key of SslKeyPem

public const string SslKeyPemKey = "datadistributionmanager.kafka.globalconf.ssl.key.pem"

Field Value

string

SslKeystoreLocationKey

Configuration key of SslKeystoreLocation

public const string SslKeystoreLocationKey = "datadistributionmanager.kafka.globalconf.ssl.keystore.location"

Field Value

string

SslKeystorePasswordKey

Configuration key of SslKeystorePassword

public const string SslKeystorePasswordKey = "datadistributionmanager.kafka.globalconf.ssl.keystore.password"

Field Value

string

SslSisalgsListKey

Configuration key of SslSisalgsList

public const string SslSisalgsListKey = "datadistributionmanager.kafka.globalconf.ssl.sigalgs.list"

Field Value

string

StatisticsIntervalKey

Configuration key of StatisticsInterval

public const string StatisticsIntervalKey = "datadistributionmanager.kafka.globalconf.statistics.interval.ms"

Field Value

string

StickyPartitioningLingerKey

Configuration key of StickyPartitioningLinger

public const string StickyPartitioningLingerKey = "datadistributionmanager.kafka.globalconf.sticky.partitioning.linger.ms"

Field Value

string

TopicBlackListKey

Configuration key of TopicBlackList

public const string TopicBlackListKey = "datadistributionmanager.kafka.globalconf.topic.blacklist"

Field Value

string

TopicCompressionCodecKey

Configuration key of TopicCompressionCodec

public const string TopicCompressionCodecKey = "datadistributionmanager.kafka.topicconf.compression.codec"

Field Value

string

TopicCreateKey

Configuration key of TopicCreate

public const string TopicCreateKey = "datadistributionmanager.kafka.topic_create"

Field Value

string

TopicMetadataPropagationMaxKey

Configuration key of TopicMetadataPropagationMax

public const string TopicMetadataPropagationMaxKey = "datadistributionmanager.kafka.globalconf.topic.metadata.propagation.max.ms"

Field Value

string

TopicMetadataRefreshFastIntervalKey

Configuration key of TopicMetadataRefreshFastInterval

public const string TopicMetadataRefreshFastIntervalKey = "datadistributionmanager.kafka.globalconf.topic.metadata.refresh.fast.interval.ms"

Field Value

string

TopicMetadataRefreshIntervalKey

Configuration key of TopicMetadataRefreshInterval

public const string TopicMetadataRefreshIntervalKey = "datadistributionmanager.kafka.globalconf.topic.metadata.refresh.interval.ms"

Field Value

string

TopicMetadataRefreshSparseKey

Configuration key of TopicMetadataRefreshSparse

public const string TopicMetadataRefreshSparseKey = "datadistributionmanager.kafka.globalconf.topic.metadata.refresh.sparse"

Field Value

string

TransactionTimeoutKey

Configuration key of TransactionTimeout

public const string TransactionTimeoutKey = "datadistributionmanager.kafka.globalconf.transaction.timeout.ms"

Field Value

string

TransactionalIdKey

Configuration key of TransactionalId

public const string TransactionalIdKey = "datadistributionmanager.kafka.globalconf.transactional.id"

Field Value

string

TransactionsEnabledKey

Configuration key of TransactionsEnabled

public const string TransactionsEnabledKey = "datadistributionmanager.kafka.transactions.enable"

Field Value

string

TransactionsTimeoutKey

Configuration key of TransactionsTimeout

public const string TransactionsTimeoutKey = "datadistributionmanager.kafka.transactions.timeout"

Field Value

string

Properties

AllowAutoCreateTopics

Allow automatic topic creation on the broker when subscribing to or assigning non-existent topics. The broker must also be configured with auto.create.topics.enable=true for this configuraiton to take effect. Note: The default value (false) is different from the Java consumer (true). Requires broker version >= 0.11.0.0, for older broker versions only the broker configuration applies.

public bool AllowAutoCreateTopics { get; set; }

Property Value

bool

ApiVersionFallback

Dictates how long the broker.version.fallback fallback is used in the case the ApiVersionRequest fails. NOTE: The ApiVersionRequest is only issued when a new connection to the broker is made (such as after an upgrade).

public int ApiVersionFallback { get; set; }

Property Value

int

0 .. 604800000

ApiVersionRequest

Request broker's supported API versions to adjust functionality to available protocol features. If set to false, or the ApiVersionRequest fails, the fallback version broker.version.fallback will be used. NOTE: Depends on broker version >=0.10.0. If the request is not supported by (an older) broker the broker.version.fallback fallback is used.

public bool ApiVersionRequest { get; set; }

Property Value

bool

ApiVersionRequestTimeout

Timeout for broker API version requests.

public int ApiVersionRequestTimeout { get; set; }

Property Value

int

1 .. 300000

AutoCommitInterval

The frequency in milliseconds that the consumer offsets are committed (written) to offset storage. (0 = disable). This setting is used by the high-level consumer.

public int AutoCommitInterval { get; set; }

Property Value

int

0 .. 86400000

AutoOffsetReset

Action to take when there is no initial offset in offset store or the desired offset is out of range: smallest,earliest - automatically reset the offset to the smallest offset, largest,latest - automatically reset the offset to the largest offset, error - trigger an error (ERR__AUTO_OFFSET_RESET) which is retrieved by consuming messages and checking 'message->err'.

public AutoOffsetResetType AutoOffsetReset { get; set; }

Property Value

AutoOffsetResetType

BatchNumMessages

Maximum number of messages batched in one MessageSet. The total MessageSet size is also limited by BatchSize and MessageMaxBytes.

public int BatchNumMessages { get; set; }

Property Value

int

1 .. 1000000

BatchSize

Maximum size (in bytes) of all messages batched in one MessageSet, including protocol framing overhead. This limit is applied after the first message has been added to the batch, regardless of the first message's size, this is to ensure that messages that exceed batch.size are produced. The total MessageSet size is also limited by BatchNumMessages and MessageMaxBytes.

public int BatchSize { get; set; }

Property Value

int

1 .. 2147483647

BootstrapBrokers

The bootstrap broker(s) to be used as Comma Separated Value(s)

public string BootstrapBrokers { get; set; }

Property Value

string

BrokerAddressFamily

Allowed broker IP address families: any, v4, v6

public BrokerAddressFamilyType BrokerAddressFamily { get; set; }

Property Value

BrokerAddressFamilyType

BrokerAddressTtl

How long to cache the broker address resolving results (milliseconds).

public int BrokerAddressTtl { get; set; }

Property Value

int

0 .. 86400000

BrokerVersionFallback

Older broker versions (before 0.10.0) provide no way for a client to query for supported protocol features (ApiVersionRequest, see api.version.request) making it impossible for the client to know what features it may use. As a workaround a user may set this property to the expected broker version and the client will automatically adjust its feature set accordingly if the ApiVersionRequest fails (or is disabled). The fallback broker version will be used for api.version.fallback.ms. Valid values are: 0.9.0, 0.8.2, 0.8.1, 0.8.0. Any other value >= 0.10, such as 0.10.2.1, enables ApiVersionRequests.

public string BrokerVersionFallback { get; set; }

Property Value

string

BuiltinFeatures

Indicates the builtin features for this build of librdkafka. An application can either query this value or attempt to set it with its list of required features to check for library support.

public BuiltinFeaturesType BuiltinFeatures { get; set; }

Property Value

BuiltinFeaturesType

CheckCrcs

Verify CRC32 of consumed messages, ensuring no on-the-wire or on-disk corruption to the messages occurred. This check comes at slightly increased CPU usage.

public bool CheckCrcs { get; set; }

Property Value

bool

ClientId

The client id to be used

public string ClientId { get; set; }

Property Value

string

ClientRack

A rack identifier for this client. This can be any string value which indicates where this client is physically located. It corresponds with the broker config broker.rack.

public string ClientRack { get; set; }

Property Value

string

CompressionCodec

Compression codec to use for compressing message sets. This is the default value for all topics, may be overridden by the topic configuration property compression.codec.

public CompressionCodecType CompressionCodec { get; set; }

Property Value

CompressionCodecType

CompressionLevel

Compression level parameter for algorithm selected by configuration property CompressionCodec. Higher values will result in better compression at the cost of more CPU usage. Usable range is algorithm-dependent: [0-9] for gzip; [0-12] for lz4; only 0 for snappy; -1 = codec-dependent default compression level.

public int CompressionLevel { get; set; }

Property Value

int

0 .. 2147483647

Configuration

The configuration parameters to use written as key=value

public override string[] Configuration { get; }

Property Value

string[]

The list of key/value pairs

ConnectionsMaxIdle

Close broker connections after the specified time of inactivity. Disable with 0. If this property is left at its default value some heuristics are performed to determine a suitable default value, this is currently limited to identifying brokers on Azure (see librdkafka issue #3109 for more info).

public int ConnectionsMaxIdle { get; set; }

Property Value

int

0 .. 2147483647

ConsumeCallbackMaxMessages

Maximum number of messages to dispatch in one rd_kafka_consume_callback*() call (0 = unlimited)

public int ConsumeCallbackMaxMessages { get; set; }

Property Value

int

0 .. 1000000

CoordinatorQueryInterval

How often to query for the current client group coordinator. If the currently assigned coordinator is down the configured query interval will be divided by ten to more quickly recover in case of coordinator reassignment.

public int CoordinatorQueryInterval { get; set; }

Property Value

int

1 .. 3600000

Debug

A comma-separated list of debug contexts to enable. Detailed Producer debugging: broker,topic,msg. Consumer: consumer,cgrp,topic,fetch

public DebugType Debug { get; set; }

Property Value

DebugType

DeliveryReportOnlyError

Only provide delivery reports for failed messages.

public bool DeliveryReportOnlyError { get; set; }

Property Value

bool

DumpMetadata

True to dump metadata

public bool DumpMetadata { get; set; }

Property Value

bool

EnableAutoCommit

Automatically and periodically commit offsets in the background. Note: setting this to false does not prevent the consumer from fetching previously committed start offsets. To circumvent this behaviour set specific start offsets per partition in the call to assign().

public bool EnableAutoCommit { get; set; }

Property Value

bool

1 .. 86400000

EnableAutoOffsetStore

Automatically store offset of last message provided to application. The offset store is an in-memory store of the next offset to (auto-)commit for each partition.

public bool EnableAutoOffsetStore { get; set; }

Property Value

bool

EnableGaplessGuarantee

When set to true, any error that could result in a gap in the produced message series when a batch of messages fails, will raise a fatal error (ERR__GAPLESS_GUARANTEE) and stop the producer. Messages failing due to MessageTimeout are not covered by this guarantee. Requires EnableIdempotence to true.

public bool EnableGaplessGuarantee { get; set; }

Property Value

bool

Remarks

EXPERIMENTAL: subject to change or removal.

EnableIdempotence

When set to true, the producer will ensure that messages are successfully produced exactly once and in the original produce order. The following configuration properties are adjusted automatically (if not modified by the user) when idempotence is enabled: MaxInFlightRequestsPerConnection to 5 (must be less than or equal to 5), MessageSendMaxRetries to MaxValue (must be greater than 0), RequestRequiredAcks to all, QueueingStrategy queuing.strategy=fifo. Producer instantation will fail if user-supplied configuration is incompatible.

public bool EnableIdempotence { get; set; }

Property Value

bool

EnablePartitionEof

Emit RD_KAFKA_RESP_ERR__PARTITION_EOF event whenever the consumer reaches the end of a partition.

public bool EnablePartitionEof { get; set; }

Property Value

bool

EnableRandomSeed

If enabled librdkafka will initialize the PRNG with srand(current_time.milliseconds) on the first invocation of rd_kafka_new() (required only if rand_r() is not available on your platform). If disabled the application must call srand() prior to calling rd_kafka_new().

public bool EnableRandomSeed { get; set; }

Property Value

bool

EnableSaslOauthbearerUnsecureJwt

Enable the builtin unsecure JWT OAUTHBEARER token handler if no oauthbearer_refresh_cb has been set. This builtin handler should only be used for development or testing, and not in production.

public bool EnableSaslOauthbearerUnsecureJwt { get; set; }

Property Value

bool

EnableSslCertificateVerification

Enable OpenSSL's builtin broker (server) certificate verification. This verification can be extended by the application by implementing a certificate_verify_cb.

public bool EnableSslCertificateVerification { get; set; }

Property Value

bool

FetchErrorBackoff

How long to postpone the next fetch request for a topic+partition in case of a fetch error.

public int FetchErrorBackoff { get; set; }

Property Value

int

0 .. 300000

FetchMaxBytes

Maximum amount of data the broker shall return for a Fetch request. Messages are fetched in batches by the consumer and if the first message batch in the first non-empty partition of the Fetch request is larger than this value, then the message batch will still be returned to ensure the consumer can make progress. The maximum message batch size accepted by the broker is defined via MessageMaxBytes (broker config) or MessageMaxBytes (broker topic config). FetchMaxBytes is automatically adjusted upwards to be at least MessageMaxBytes (consumer config).

public int FetchMaxBytes { get; set; }

Property Value

int

0 .. 2147483135

FetchMessageMaxBytes

Initial maximum number of bytes per topic+partition to request when fetching messages from the broker. If the client encounters a message larger than this value it will gradually try to increase it until the entire message can be fetched.

public int FetchMessageMaxBytes { get; set; }

Property Value

int

1 .. 1000000000

FetchMinBytes

Minimum number of bytes the broker responds with. If FetchWaitMax expires the accumulated data will be sent to the client regardless of this setting.

public int FetchMinBytes { get; set; }

Property Value

int

1 .. 100000000

FetchWaitMax

Maximum time the broker may wait to fill the Fetch response with fetch.min.bytes of messages.

public int FetchWaitMax { get; set; }

Property Value

int

0 .. 300000

GroupId

The group id to be used

public string GroupId { get; set; }

Property Value

string

GroupInstanceId

Enable static group membership. Static group members are able to leave and rejoin a group within the configured SessionTimeout without prompting a group rebalance. This should be used in combination with a larger SessionTimeout to avoid group rebalances caused by transient unavailability (e.g. process restarts). Requires broker version >= 2.3.0.

public string GroupInstanceId { get; set; }

Property Value

string

GroupProtocolType

Group protocol type. NOTE: Currently, the only supported group protocol type is 'consumer'.

public string GroupProtocolType { get; set; }

Property Value

string

HeartbeatInterval

Group session keepalive heartbeat interval.

public int HeartbeatInterval { get; set; }

Property Value

int

1 .. 3600000

IntervalTerminationSignal

Signal that librdkafka will use to quickly terminate on rd_kafka_destroy(). If this signal is not set then there will be a delay before rd_kafka_wait_destroyed() returns true as internal threads are timing out their system calls. If this signal is set however the delay will be minimal. The application should mask this signal as an internal signal handler is installed.

public int IntervalTerminationSignal { get; set; }

Property Value

int

0 .. 128

IsolationLevel

Controls how to read messages written transactionally: read_committed - only return transactional messages which have been committed. read_uncommitted - return all messages, even transactional messages which have been aborted.

public IsolationLevelType IsolationLevel { get; set; }

Property Value

IsolationLevelType

this[KafkaConfigurationType, string]

Generic setter/getter for all configuration properties related to librdkafka (see https://github.com/edenhill/librdkafka/blob/master/CONFIGURATION.md)

public string this[KafkaConfigurationType type, string property] { get; set; }

Parameters

type KafkaConfigurationType

KafkaConfigurationType to set

property string

The property name

Property Value

string

The property value

LogConnectionClose

Log broker disconnects. It might be useful to turn this off when interacting with 0.9 brokers with an aggressive connection.max.idle.ms value.

public bool LogConnectionClose { get; set; }

Property Value

bool

LogLevel

Logging level (syslog(3) levels)

public int LogLevel { get; set; }

Property Value

int

0 .. 7

LogQueue

Disable spontaneous log_cb from internal librdkafka threads, instead enqueue log messages on queue set with rd_kafka_set_log_queue() and serve log callbacks or events through the standard poll APIs. NOTE: Log messages will linger in a temporary queue until the log queue has been set.

public bool LogQueue { get; set; }

Property Value

bool

LogThreadName

Print internal thread name in log messages (useful for debugging librdkafka internals)

public bool LogThreadName { get; set; }

Property Value

bool

MaxInFlightRequestsPerConnection

Maximum number of in-flight requests per broker connection. This is a generic property applied to all broker communication, however it is primarily relevant to produce requests. In particular, note that other mechanisms limit the number of outstanding consumer fetch request per broker to one.

public uint MaxInFlightRequestsPerConnection { get; set; }

Property Value

uint

1 .. 1000000

MaxPollInterval

Maximum allowed time between calls to consume messages (e.g., rd_kafka_consumer_poll()) for high-level consumers. If this interval is exceeded the consumer is considered failed and the group will rebalance in order to reassign the partitions to another consumer group member. Warning: Offset commits may be not possible at this point. Note: It is recommended to set EnableAutoOffsetStore to false for long-time processing applications and then explicitly store offsets (using offsets_store()) after message processing, to make sure offsets are not auto-committed prior to processing has finished. The interval is checked two times per second. See KIP-62 for more information.

public int MaxPollInterval { get; set; }

Property Value

int

1 .. 86400000

MessageCopyMaxBytes

Maximum size for message to be copied to buffer. Messages larger than this will be passed by reference (zero-copy) at the expense of larger iovecs.

public uint MessageCopyMaxBytes { get; set; }

Property Value

uint

0 .. 1000000000

MessageMaxBytes

Maximum Kafka protocol request message size. Due to differing framing overhead between protocol versions the producer is unable to reliably enforce a strict max message limit at produce time and may exceed the maximum size by one message in protocol ProduceRequests, the broker will enforce the the topic's max.message.bytes limit (see Apache Kafka documentation).

public uint MessageMaxBytes { get; set; }

Property Value

uint

1000 .. 1000000000

MessageSendMaxRetries

How many times to retry sending a failing Message. Note: retrying may cause reordering unless EnableIdempotence is set to true.

public int MessageSendMaxRetries { get; set; }

Property Value

int

0 .. 2147483647

MessageTimeout

Local message timeout. This value is only enforced locally and limits the time a produced message waits for successful delivery. A time of 0 is infinite. This is the maximum time librdkafka may use to deliver a message (including retries). Delivery error occurs when either the retry count or the message timeout are exceeded. The message timeout is automatically adjusted to TransactionTimeout if TransactionalId is configured.

public int MessageTimeout { get; set; }

Property Value

int

0 .. 2147483647

MetadataMaxAge

Metadata cache max age. Defaults to TopicMetadataRefreshInterval * 3

public int MetadataMaxAge { get; set; }

Property Value

int

1 .. 86400000

MetadataRequestTimeout

Non-topic request timeout in milliseconds. This is for metadata requests, etc.

public uint MetadataRequestTimeout { get; set; }

Property Value

uint

10 .. 900000

PartitionAssignmentStrategy

The name of one or more partition assignment strategies. The elected group leader will use a strategy supported by all members of the group to assign partitions to group members. If there is more than one eligible strategy, preference is determined by the order of this list (strategies earlier in the list have higher priority). Cooperative and non-cooperative (eager) strategies must not be mixed. Available strategies: range, roundrobin, cooperative-sticky.

public PartitionAssignmentStrategyType PartitionAssignmentStrategy { get; set; }

Property Value

PartitionAssignmentStrategyType

Partitioner

Partitioner: PartitionerType

public PartitionerType Partitioner { get; set; }

Property Value

PartitionerType

PluginLibraryPaths

List of plugin libraries to load (; separated). The library search path is platform dependent (see dlopen(3) for Unix and LoadLibrary() for Windows). If no filename extension is specified the platform-specific extension (such as .dll or .so) will be appended automatically.

public string PluginLibraryPaths { get; set; }

Property Value

string

QueueBufferingBackpressureThreshold

The threshold of outstanding not yet transmitted broker requests needed to backpressure the producer's message accumulator. If the number of not yet transmitted requests equals or exceeds this number, produce request creation that would have otherwise been triggered (for example, in accordance with QueueBufferingMaxMs) will be delayed. A lower number yields larger and more effective batches. A higher value can improve latency when using compression on slow machines.

public int QueueBufferingBackpressureThreshold { get; set; }

Property Value

int

1 .. 1000000

QueueBufferingMaxKb

Maximum total message size sum allowed on the producer queue. This queue is shared by all topics and partitions. This property has higher priority thanQueueBufferingMaxMessages.

public int QueueBufferingMaxKb { get; set; }

Property Value

int

1 .. 2147483647

QueueBufferingMaxMessages

Maximum number of messages allowed on the producer queue. This queue is shared by all topics and partitions.

public int QueueBufferingMaxMessages { get; set; }

Property Value

int

1 .. 10000000

QueueBufferingMaxMs

Delay in milliseconds to wait for messages in the producer queue to accumulate before constructing message batches (MessageSets) to transmit to brokers. A higher value allows larger and more effective (less overhead, improved compression) batches of messages to accumulate at the expense of increased message delivery latency.

public int QueueBufferingMaxMs { get; set; }

Property Value

int

0 .. 900000

QueuedMaxMessagesKb

Maximum number of kilobytes of queued pre-fetched messages in the local consumer queue. If using the high-level consumer this setting applies to the single consumer queue, regardless of the number of partitions. When using the legacy simple consumer or when separate partition queues are used this setting applies per partition. This value may be overshot by fetch.message.max.bytes. This property has higher priority than QueuedMinMessages.

public int QueuedMaxMessagesKb { get; set; }

Property Value

int

1 .. 2097151

QueuedMinMessages

Minimum number of messages per topic+partition librdkafka tries to maintain in the local consumer queue.

public int QueuedMinMessages { get; set; }

Property Value

int

1 .. 10000000

QueueingStrategy

fifo preserves produce ordering, while lifo prioritizes new messages.

public QueueingStrategyType QueueingStrategy { get; set; }

Property Value

QueueingStrategyType

Remarks

EXPERIMENTAL: subject to change or removal. DEPRECATED Producer queuing strategy.

ReceiveMessageMaxBytes

Maximum Kafka protocol response message size. This serves as a safety precaution to avoid memory exhaustion in case of protocol hickups. This value must be at least FetchMaxBytes + 512 to allow for protocol overhead; the value is adjusted automatically unless the configuration property is explicitly set.

public uint ReceiveMessageMaxBytes { get; set; }

Property Value

uint

1000 .. 2147483647

ReconnectBackoff

The initial time to wait before reconnecting to a broker after the connection has been closed. The time is increased exponentially until ReconnectBackoffMax is reached. -25% to +50% jitter is applied to each reconnect backoff. A value of 0 disables the backoff and reconnects immediately.

public int ReconnectBackoff { get; set; }

Property Value

int

0 .. 3600000

ReconnectBackoffMax

The maximum time to wait before reconnecting to a broker after the connection has been closed.

public int ReconnectBackoffMax { get; set; }

Property Value

int

0 .. 3600000

ReplicationFactor

The replication factor to be used

public uint ReplicationFactor { get; set; }

Property Value

uint

RequestRequiredAcks

This field indicates the number of acknowledgements the leader broker must receive from ISR brokers before responding to the request: 0=Broker does not send any response/ack to client, -1 or all=Broker will block until message is committed by all in sync replicas (ISRs). If there are less than min.insync.replicas (broker configuration) in the ISR set the produce request will fail.

public int RequestRequiredAcks { get; set; }

Property Value

int

-1 .. 1000

RequestTimeout

The ack timeout of the producer request in milliseconds. This value is only enforced by the broker and relies on RequestRequiredAcks being != 0

public int RequestTimeout { get; set; }

Property Value

int

-1 .. 1000

RetryBackoff

The backoff time in milliseconds before retrying a protocol request.

public int RetryBackoff { get; set; }

Property Value

int

1 .. 300000

SaslKerberosKeytab

Path to Kerberos keytab file. This configuration property is only used as a variable in sasl.kerberos.kinit.cmd as ... -t "%{sasl.kerberos.keytab}".

public string SaslKerberosKeytab { get; set; }

Property Value

string

SaslKerberosKinitCmd

Shell command to refresh or acquire the client's Kerberos ticket. This command is executed on client creation and every sasl.kerberos.min.time.before.relogin (0=disable). %{config.prop.name} is replaced by corresponding config object value.

public string SaslKerberosKinitCmd { get; set; }

Property Value

string

SaslKerberosMinTimeBeforeRelogin

Minimum time in milliseconds between key refresh attempts. Disable automatic key refresh by setting this property to 0.

public int SaslKerberosMinTimeBeforeRelogin { get; set; }

Property Value

int

0 .. 86400000

SaslKerberosPrincipal

This client's Kerberos principal name. (Not supported on Windows, will use the logon user's principal).

public string SaslKerberosPrincipal { get; set; }

Property Value

string

SaslKerberosServiceName

Kerberos principal name that Kafka runs as, not including /hostname@REALM

public string SaslKerberosServiceName { get; set; }

Property Value

string

SaslMechanism

SASL mechanism to use for authentication. Supported SaslMechanismType

public SaslMechanismType SaslMechanism { get; set; }

Property Value

SaslMechanismType

SaslOauthbearerClientId

Public identifier for the application. Must be unique across all clients that the authorization server handles. Only used when SaslOauthbearerMethod is set to OIDC.

public string SaslOauthbearerClientId { get; set; }

Property Value

string

SaslOauthbearerClientSecret

Client secret only known to the application and the authorization server. This should be a sufficiently random string that is not guessable. Only used when SaslOauthbearerMethod is set to OIDC.

public string SaslOauthbearerClientSecret { get; set; }

Property Value

string

SaslOauthbearerConfig

SASL/OAUTHBEARER configuration. The format is implementation-dependent and must be parsed accordingly. The default unsecured token implementation (see https://tools.ietf.org/html/rfc7515#appendix-A.5) recognizes space-separated name=value pairs with valid names including principalClaimName, principal, scopeClaimName, scope, and lifeSeconds. The default value for principalClaimName is "sub", the default value for scopeClaimName is "scope", and the default value for lifeSeconds is 3600. The scope value is CSV format with the default value being no/empty scope. For example: principalClaimName=azp principal=admin scopeClaimName=roles scope=role1,role2 lifeSeconds=600. In addition, SASL extensions can be communicated to the broker via extension_NAME=value. For example: principal=admin extension_traceId=123

public string SaslOauthbearerConfig { get; set; }

Property Value

string

SaslOauthbearerExtensions

Allow additional information to be provided to the broker. Comma-separated list of key=value pairs. E.g., "supportFeatureX=true,organizationId=sales-emea". Only used when SaslOauthbearerMethod is set to OIDC.

public string SaslOauthbearerExtensions { get; set; }

Property Value

string

SaslOauthbearerMethod

Set to DEFAULT or OIDC to control which login method to be used. If set to OIDC, the following properties must also be be specified: sasl.oauthbearer.client.id, sasl.oauthbearer.client.secret, and sasl.oauthbearer.token.endpoint.url.

public SaslOauthbearerMethodType SaslOauthbearerMethod { get; set; }

Property Value

SaslOauthbearerMethodType

SaslOauthbearerScope

Client use this to specify the scope of the access request to the broker. Only used when SaslOauthbearerMethod is set to OIDC.

public string SaslOauthbearerScope { get; set; }

Property Value

string

SaslOauthbearerTokenEndpointUrl

OAuth/OIDC issuer token endpoint HTTP(S) URI used to retrieve token. Only used when SaslOauthbearerMethod is set to OIDC.

public string SaslOauthbearerTokenEndpointUrl { get; set; }

Property Value

string

SaslPassword

SASL password for use with the PLAIN and SASL-SCRAM-.. mechanism

public string SaslPassword { get; set; }

Property Value

string

SaslUsername

SASL username for use with the PLAIN and SASL-SCRAM-.. mechanisms

public string SaslUsername { get; set; }

Property Value

string

SecurityProtocol

Protocol used to communicate with brokers.

public SecurityProtocolType SecurityProtocol { get; set; }

Property Value

SecurityProtocolType

SessionTimeout

Client group session and failure detection timeout. The consumer sends periodic heartbeats (HeartbeatInterval) to indicate its liveness to the broker. If no hearts are received by the broker for a group member within the session timeout, the broker will remove the consumer from the group and trigger a rebalance. The allowed range is configured with the broker configuration properties group.min.session.timeout.ms and group.max.session.timeout.ms. Also see MaxPollInterval.

public int SessionTimeout { get; set; }

Property Value

int

1 .. 3600000

SocketConnectionSetupTimeout

Maximum time allowed for broker connection setup (TCP connection setup as well SSL and SASL handshake). If the connection to the broker is not fully functional after this the connection will be closed and retried.

public int SocketConnectionSetupTimeout { get; set; }

Property Value

int

1000 .. 2147483647

SocketKeepaliveEnable

Enable TCP keep-alives (SO_KEEPALIVE) on broker sockets

public bool SocketKeepaliveEnable { get; set; }

Property Value

bool

SocketMaxFails

Disconnect from broker when this number of send failures (e.g., timed out requests) is reached. Disable with 0. WARNING: It is highly recommended to leave this setting at its default value of 1 to avoid the client and broker to become desynchronized in case of request timeouts. NOTE: The connection is automatically re-established.

public int SocketMaxFails { get; set; }

Property Value

int

0 .. 100000000

SocketNagleDisable

Disable the Nagle algorithm (TCP_NODELAY) on broker sockets.

public bool SocketNagleDisable { get; set; }

Property Value

bool

SocketReceiveBufferBytes

Broker socket receive buffer size. System default is used if 0.

public int SocketReceiveBufferBytes { get; set; }

Property Value

int

0 .. 100000000

SocketSendBufferBytes

Broker socket send buffer size. System default is used if 0.

public int SocketSendBufferBytes { get; set; }

Property Value

int

0 .. 100000000

SocketTimeout

Default timeout for network requests. Producer: ProduceRequests will use the lesser value of SocketTimeout and remaining MessageTimeout for the first message in the batch. Consumer: FetchRequests will use FetchWaitMax + SocketTimeout. Admin: Admin requests will use SocketTimeout or explicitly set rd_kafka_AdminOptions_set_operation_timeout() value.

public int SocketTimeout { get; set; }

Property Value

int

10 .. 300000

SslCA

CA certificate as set by rd_kafka_conf_set_ssl_cert()

public string SslCA { get; set; }

Property Value

string

SslCACertificateStores

Comma-separated list of Windows Certificate stores to load CA certificates from. Certificates will be loaded in the same order as stores are specified. If no certificates can be loaded from any of the specified stores an error is logged and the OpenSSL library's default CA location is used instead. Store names are typically one or more of: MY, Root, Trust, CA.

public IEnumerable<string> SslCACertificateStores { get; set; }

Property Value

IEnumerable<string>

SslCALocation

File or directory path to CA certificate(s) for verifying the broker's key. Defaults: On Windows the system's CA certificates are automatically looked up in the Windows Root certificate store. On Mac OSX this configuration defaults to probe. It is recommended to install openssl using Homebrew, to provide CA certificates. On Linux install the distribution's ca-certificates package. If OpenSSL is statically linked or ssl.ca.location is set to probe a list of standard paths will be probed and the first one found will be used as the default CA certificate location path. If OpenSSL is dynamically linked the OpenSSL library's default path will be used (see OPENSSLDIR in openssl version -a).

public string SslCALocation { get; set; }

Property Value

string

SslCAPem

CA certificate string (PEM format) for verifying the broker's key.

public string SslCAPem { get; set; }

Property Value

string

SslCertificate

Client's public key as set by rd_kafka_conf_set_ssl_cert()

public string SslCertificate { get; set; }

Property Value

string

SslCertificateLocation

Path to client's public key (PEM) used for authentication.

public string SslCertificateLocation { get; set; }

Property Value

string

SslCertificatePem

Client's public key string (PEM format) used for authentication.

public string SslCertificatePem { get; set; }

Property Value

string

SslCipherSuites

A cipher suite is a named combination of authentication, encryption, MAC and key exchange algorithm used to negotiate the security settings for a network connection using TLS or SSL network protocol. See manual page for ciphers(1) and `SSL_CTX_set_cipher_list(3).

public string SslCipherSuites { get; set; }

Property Value

string

SslCrlLocation

Path to CRL for verifying broker's certificate validity.

public string SslCrlLocation { get; set; }

Property Value

string

SslCurvesList

The supported-curves extension in the TLS ClientHello message specifies the curves (standard/named, or 'explicit' GF(2^k) or GF(p)) the client is willing to have the server use. See manual page for SSL_CTX_set1_curves_list(3). OpenSSL >= 1.0.2 required.

public string SslCurvesList { get; set; }

Property Value

string

SslEndpointIdentificationAlgorithm

Endpoint identification algorithm to validate broker hostname using broker certificate. https - Server (broker) hostname verification as specified in RFC2818. none - No endpoint verification. OpenSSL >= 1.0.2 required.

public SslEndpointIdentificationAlgorithmType SslEndpointIdentificationAlgorithm { get; set; }

Property Value

SslEndpointIdentificationAlgorithmType

SslEngineId

OpenSSL engine id is the name used for loading engine.

public string SslEngineId { get; set; }

Property Value

string

SslEngineLocation

Path to OpenSSL engine library. OpenSSL >= 1.1.0 required.

public string SslEngineLocation { get; set; }

Property Value

string

SslKey

Client's private key as set by rd_kafka_conf_set_ssl_cert()

public string SslKey { get; set; }

Property Value

string

SslKeyLocation

Path to client's private key (PEM) used for authentication.

public string SslKeyLocation { get; set; }

Property Value

string

SslKeyPassword

Private key passphrase (for use with ssl.key.location and set_ssl_cert())

public string SslKeyPassword { get; set; }

Property Value

string

SslKeyPem

Client's private key string (PEM format) used for authentication.

public string SslKeyPem { get; set; }

Property Value

string

SslKeystoreLocation

Path to client's keystore (PKCS#12) used for authentication.

public string SslKeystoreLocation { get; set; }

Property Value

string

SslKeystorePassword

Client's keystore (PKCS#12) password.

public string SslKeystorePassword { get; set; }

Property Value

string

SslSisalgsList

The client uses the TLS ClientHello signature_algorithms extension to indicate to the server which signature/hash algorithm pairs may be used in digital signatures. See manual page for SSL_CTX_set1_sigalgs_list(3). OpenSSL >= 1.0.2 required.

public string SslSisalgsList { get; set; }

Property Value

string

StatisticsInterval

librdkafka statistics emit interval. The application also needs to register a stats callback using rd_kafka_conf_set_stats_cb(). The granularity is 1000ms. A value of 0 disables statistics.

public int StatisticsInterval { get; set; }

Property Value

int

0 .. 86400000

StickyPartitioningLinger

Delay in milliseconds to wait to assign new sticky partitions for each topic. By default, set to double the time of linger.ms. To disable sticky behavior, set to 0. This behavior affects messages with the key NULL in all cases, and messages with key lengths of zero when the consistent_random partitioner is in use. These messages would otherwise be assigned randomly. A higher value allows for more effective batching of these messages.

public int StickyPartitioningLinger { get; set; }

Property Value

int

0 .. 900000

TopicBlackList

Topic blacklist, a comma-separated list of regular expressions for matching topic names that should be ignored in broker metadata information as if the topics did not exist.

public IEnumerable<string> TopicBlackList { get; set; }

Property Value

IEnumerable<string>

TopicCompressionCodec

Compression codec to use for compressing message sets. inherit = inherit global compression.codec configuration.

public CompressionCodecType TopicCompressionCodec { get; set; }

Property Value

CompressionCodecType

Remarks

inherit is default: don't set this preperty to use default

TopicCreate

True to request a create topic

public bool TopicCreate { get; set; }

Property Value

bool

TopicMetadataPropagationMax

Apache Kafka topic creation is asynchronous and it takes some time for a new topic to propagate throughout the cluster to all brokers. If a client requests topic metadata after manual topic creation but before the topic has been fully propagated to the broker the client is requesting metadata from, the topic will seem to be non-existent and the client will mark the topic as such, failing queued produced messages with ERR__UNKNOWN_TOPIC. This setting delays marking a topic as non-existent until the configured propagation max time has passed. The maximum propagation time is calculated from the time the topic is first referenced in the client, e.g., on produce().

public int TopicMetadataPropagationMax { get; set; }

Property Value

int

0 .. 3600000

TopicMetadataRefreshFastInterval

When a topic loses its leader a new metadata request will be enqueued with this initial interval, exponentially increasing until the topic metadata has been refreshed. This is used to recover quickly from transitioning leader brokers.

public int TopicMetadataRefreshFastInterval { get; set; }

Property Value

int

1 .. 60000

TopicMetadataRefreshInterval

Period of time in milliseconds at which topic and broker metadata is refreshed in order to proactively discover any new brokers, topics, partitions or partition leader changes. Use -1 to disable the intervalled refresh (not recommended). If there are no locally referenced topics (no topic objects created, no messages produced, no subscription or no assignment) then only the broker list will be refreshed every interval but no more often than every 10s.

public int TopicMetadataRefreshInterval { get; set; }

Property Value

int

-1 .. 3600000

TopicMetadataRefreshSparse

Sparse metadata requests (consumes less network bandwidth)

public bool TopicMetadataRefreshSparse { get; set; }

Property Value

bool

TransactionTimeout

The maximum amount of time in milliseconds that the transaction coordinator will wait for a transaction status update from the producer before proactively aborting the ongoing transaction. If this value is larger than the transaction.max.timeout.ms setting in the broker, the init_transactions() call will fail with ERR_INVALID_TRANSACTION_TIMEOUT. The transaction timeout automatically adjusts MessageTimeout and SocketTimeout, unless explicitly configured in which case they must not exceed the transaction timeout (SocketTimeout must be at least 100ms lower than TransactionTimeout). This is also the default timeout value if no timeout (-1) is supplied to the transactional API methods.

public int TransactionTimeout { get; set; }

Property Value

int

0 .. 300000

TransactionalId

Enables the transactional producer. The TransactionalId is used to identify the same transactional producer instance across process restarts. It allows the producer to guarantee that transactions corresponding to earlier instances of the same producer have been finalized prior to starting any new transactions, and that any zombie instances are fenced off. If no transactional.id is provided, then the producer is limited to idempotent delivery (if EnableIdempotence is set). Requires broker version >= 0.11.0.

public string TransactionalId { get; set; }

Property Value

string

TransactionsEnabled

True to enable transactions

public bool TransactionsEnabled { get; set; }

Property Value

bool

TransactionsTimeout

The timeout to be used in transaction operations when TransactionsEnabled is true

public uint TransactionsTimeout { get; set; }

Property Value

uint

Methods

CheckConfiguration()

Checks the configuration for mandatory information

protected override void CheckConfiguration()