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
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""high
zookeeper.connectZookeeper connect string for Kafka topics management.string""high
connections.max.idle.msClose idle connections after the number of milliseconds specified by this config.long540000medium
key.serdeSerializer / deserializer class for key that implements the Serde interface.classorg.apache.kafka.common.serialization.Serdes$ByteArraySerdemedium
partition.grouperPartition grouper class that implements the PartitionGrouper interface.classorg.apache.kafka.streams.processor.DefaultPartitionGroupermedium
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,...]medium
replication.factorThe replication factor for change log topics and repartition topics created by the stream processing application.int1medium
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,...]medium
security.protocolProtocol used to communicate with brokers. Valid values are: PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL.stringPLAINTEXTmedium
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,...]medium
state.dirDirectory location for state store.string/tmp/kafka-streamsmedium
timestamp.extractorTimestamp extractor class that implements the TimestampExtractor interface.classorg.apache.kafka.streams.processor.FailOnInvalidTimestampmedium
value.serdeSerializer / deserializer class for value that implements the Serde interface.classorg.apache.kafka.common.serialization.Serdes$ByteArraySerdemedium
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 daylong86400000medium
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
cache.max.bytes.bufferingMaximum number of memory bytes to be used for buffering across all threadslong10485760[0,...]low
commit.interval.msThe frequency with which to save the position of the processor.long30000low
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
num.standby.replicasThe number of standby replicas for each task.int0low
num.stream.threadsThe number of threads to execute stream processing.int1low
poll.msThe amount of time in milliseconds to block waiting for input.long100low
reconnect.backoff.msThe 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 requests sent by the consumer to the broker.long50[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 that implements the RocksDBConfigSetter interfaceclassnulllow
state.cleanup.delay.msThe amount of time in milliseconds to wait before deleting state when a partition has migrated.long60000low
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