Name Description Type Default Valid Values Importance
application.idAn identifier for the stream processing application. Must be unique within the Kafka cluster. It is used as 1) the default client-id prefix, 2) the group-id for membership management, 3) the changelog topic prefix.stringhigh
bootstrap.serversA list of host/port pairs to use for establishing the initial connection to the Kafka cluster. The client will make use of all servers irrespective of which servers are specified here for bootstrapping—this list only impacts the initial hosts used to discover the full set of servers. This list should be in the form host1:port1,host2:port2,.... Since these servers are just used for the initial connection to discover the full cluster membership (which may change dynamically), this list need not contain the full set of servers (you may want more than one, though, in case a server is down).listhigh
replication.factorThe replication factor for change log topics and repartition topics created by the stream processing application.int1high
state.dirDirectory location for state store.string/tmp/kafka-streamshigh
cache.max.bytes.bufferingMaximum number of memory bytes to be used for buffering across all threadslong10485760[0,...]medium
client.idAn id string to pass to the server when making requests. The purpose of this is to be able to track the source of requests beyond just ip/port by allowing a logical application name to be included in server-side request logging.string""medium
default.key.serde Default serializer / deserializer class for key that implements the Serde interface.classorg.apache.kafka.common.serialization.Serdes$ByteArraySerdemedium
default.timestamp.extractorDefault timestamp extractor class that implements the TimestampExtractor interface.classorg.apache.kafka.streams.processor.FailOnInvalidTimestampmedium
default.value.serdeDefault serializer / deserializer class for value that implements the Serde interface.classorg.apache.kafka.common.serialization.Serdes$ByteArraySerdemedium
num.standby.replicasThe number of standby replicas for each task.int0medium
num.stream.threadsThe number of threads to execute stream processing.int1medium
processing.guaranteeThe processing guarantee that should be used. Possible values are at_least_once (default) and exactly_once. Note that exactly-once processing requires a cluster of at least three brokers by default what is the recommended setting for production; for development you can change this, by adjusting broker setting `transaction.state.log.replication.factor`.stringat_least_once[at_least_once, exactly_once]medium
security.protocolProtocol used to communicate with brokers. Valid values are: PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL.stringPLAINTEXTmedium
application.serverA host:port pair pointing to an embedded user defined endpoint that can be used for discovering the locations of state stores within a single KafkaStreams applicationstring""low
buffered.records.per.partitionThe maximum number of records to buffer per partition.int1000low
commit.interval.msThe frequency with which to save the position of the processor. (Note, if 'processing.guarantee' is set to 'exactly_once', the default value is 100, otherwise the default value is 30000.long30000low
connections.max.idle.msClose idle connections after the number of milliseconds specified by this config.long540000low
key.serdeSerializer / deserializer class for key that implements the Serde interface. This config is deprecated, use default.key.serde insteadclassnulllow
metadata.max.age.msThe period of time in milliseconds after which we force a refresh of metadata even if we haven't seen any partition leadership changes to proactively discover any new brokers or partitions.long300000[0,...]low
metric.reportersA list of classes to use as metrics reporters. Implementing the MetricReporter interface allows plugging in classes that will be notified of new metric creation. The JmxReporter is always included to register JMX statistics.list""low
metrics.num.samplesThe number of samples maintained to compute metrics.int2[1,...]low
metrics.recording.levelThe highest recording level for metrics.stringINFO[INFO, DEBUG]low
metrics.sample.window.msThe window of time a metrics sample is computed over.long30000[0,...]low
partition.grouperPartition grouper class that implements the PartitionGrouper interface.classorg.apache.kafka.streams.processor.DefaultPartitionGrouperlow
poll.msThe amount of time in milliseconds to block waiting for input.long100low
receive.buffer.bytesThe size of the TCP receive buffer (SO_RCVBUF) to use when reading data. If the value is -1, the OS default will be used.int32768[0,...]low
reconnect.backoff.max.msThe maximum amount of time in milliseconds to wait when reconnectng to a broker that has repeatedly failed to connect. If provided, the backoff per host will increase exponentially for each consecutive connection failure, up to this maximum. After calculating the backoff increase, 20% random jitter is added to avoid connection storms.long1000[0,...]low
reconnect.backoff.msThe base amount of time to wait before attempting to reconnect to a given host. This avoids repeatedly connecting to a host in a tight loop. This backoff applies to all connection attempts by the client to a broker.long50[0,...]low
request.timeout.msThe configuration controls the maximum amount of time the client will wait for the response of a request. If the response is not received before the timeout elapses the client will resend the request if necessary or fail the request if retries are exhausted.int40000[0,...]low
retry.backoff.msThe amount of time to wait before attempting to retry a failed request to a given topic partition. This avoids repeatedly sending requests in a tight loop under some failure scenarios.long100[0,...]low
rocksdb.config.setterA Rocks DB config setter class or class name that implements the RocksDBConfigSetter interfaceclassnulllow
send.buffer.bytesThe size of the TCP send buffer (SO_SNDBUF) to use when sending data. If the value is -1, the OS default will be used.int131072[0,...]low
state.cleanup.delay.msThe amount of time in milliseconds to wait before deleting state when a partition has migrated. Only state directories that have not been modified for at least state.cleanup.delay.ms will be removedlong600000low
timestamp.extractorTimestamp extractor class that implements the TimestampExtractor interface. This config is deprecated, use default.timestamp.extractor insteadclassnulllow
upgrade.fromAllows upgrading from version 0.10.0 to version 0.10.1 (or newer) in a backward compatible way. Default is null. Accepted values are "0.10.0" (for upgrading from 0.10.0.x).stringnull[null, 0.10.0]low
value.serdeSerializer / deserializer class for value that implements the Serde interface. This config is deprecated, use default.value.serde insteadclassnulllow
windowstore.changelog.additional.retention.msAdded to a windows maintainMs to ensure data is not deleted from the log prematurely. Allows for clock drift. Default is 1 daylong86400000low
zookeeper.connectZookeeper connect string for Kafka topics management. This config is deprecated and will be ignored as Streams API does not use Zookeeper anymore.string""low