<ul class="config-list">
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="key.deserializer"></a>
   <a href="#key.deserializer">key.deserializer</a>
</h4>
<p>Deserializer class for key that implements the <code>org.apache.kafka.common.serialization.Deserializer</code> interface.</p>
<table><tbody>
<tr><th>Type:</th><td>class</td></tr>
<tr><th>Default:</th><td></td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>high</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="value.deserializer"></a>
   <a href="#value.deserializer">value.deserializer</a>
</h4>
<p>Deserializer class for value that implements the <code>org.apache.kafka.common.serialization.Deserializer</code> interface.</p>
<table><tbody>
<tr><th>Type:</th><td>class</td></tr>
<tr><th>Default:</th><td></td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>high</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="bootstrap.servers"></a>
   <a href="#bootstrap.servers">bootstrap.servers</a>
</h4>
<p>A 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&mdash;this list only impacts the initial hosts used to discover the full set of servers. This list should be in the form <code>host1:port1,host2:port2,...</code>. 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).</p>
<table><tbody>
<tr><th>Type:</th><td>list</td></tr>
<tr><th>Default:</th><td>""</td></tr>
<tr><th>Valid Values:</th><td>non-null string</td></tr>
<tr><th>Importance:</th><td>high</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="fetch.min.bytes"></a>
   <a href="#fetch.min.bytes">fetch.min.bytes</a>
</h4>
<p>The minimum amount of data the server should return for a fetch request. If insufficient data is available the request will wait for that much data to accumulate before answering the request. The default setting of 1 byte means that fetch requests are answered as soon as a single byte of data is available or the fetch request times out waiting for data to arrive. Setting this to something greater than 1 will cause the server to wait for larger amounts of data to accumulate which can improve server throughput a bit at the cost of some additional latency.</p>
<table><tbody>
<tr><th>Type:</th><td>int</td></tr>
<tr><th>Default:</th><td>1</td></tr>
<tr><th>Valid Values:</th><td>[0,...]</td></tr>
<tr><th>Importance:</th><td>high</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="group.id"></a>
   <a href="#group.id">group.id</a>
</h4>
<p>A unique string that identifies the consumer group this consumer belongs to. This property is required if the consumer uses either the group management functionality by using <code>subscribe(topic)</code> or the Kafka-based offset management strategy.</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>null</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>high</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="heartbeat.interval.ms"></a>
   <a href="#heartbeat.interval.ms">heartbeat.interval.ms</a>
</h4>
<p>The expected time between heartbeats to the consumer coordinator when using Kafka's group management facilities. Heartbeats are used to ensure that the consumer's session stays active and to facilitate rebalancing when new consumers join or leave the group. The value must be set lower than <code>session.timeout.ms</code>, but typically should be set no higher than 1/3 of that value. It can be adjusted even lower to control the expected time for normal rebalances.</p>
<table><tbody>
<tr><th>Type:</th><td>int</td></tr>
<tr><th>Default:</th><td>3000 (3 seconds)</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>high</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="max.partition.fetch.bytes"></a>
   <a href="#max.partition.fetch.bytes">max.partition.fetch.bytes</a>
</h4>
<p>The maximum amount of data per-partition the server will return. Records are fetched in batches by the consumer. If the first record batch in the first non-empty partition of the fetch is larger than this limit, the batch will still be returned to ensure that the consumer can make progress. The maximum record batch size accepted by the broker is defined via <code>message.max.bytes</code> (broker config) or <code>max.message.bytes</code> (topic config). See fetch.max.bytes for limiting the consumer request size.</p>
<table><tbody>
<tr><th>Type:</th><td>int</td></tr>
<tr><th>Default:</th><td>1048576 (1 mebibyte)</td></tr>
<tr><th>Valid Values:</th><td>[0,...]</td></tr>
<tr><th>Importance:</th><td>high</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="session.timeout.ms"></a>
   <a href="#session.timeout.ms">session.timeout.ms</a>
</h4>
<p>The timeout used to detect client failures when using Kafka's group management facility. The client sends periodic heartbeats to indicate its liveness to the broker. If no heartbeats are received by the broker before the expiration of this session timeout, then the broker will remove this client from the group and initiate a rebalance. Note that the value must be in the allowable range as configured in the broker configuration by <code>group.min.session.timeout.ms</code> and <code>group.max.session.timeout.ms</code>.</p>
<table><tbody>
<tr><th>Type:</th><td>int</td></tr>
<tr><th>Default:</th><td>10000 (10 seconds)</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>high</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="ssl.key.password"></a>
   <a href="#ssl.key.password">ssl.key.password</a>
</h4>
<p>The password of the private key in the key store file. This is optional for client.</p>
<table><tbody>
<tr><th>Type:</th><td>password</td></tr>
<tr><th>Default:</th><td>null</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>high</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="ssl.keystore.location"></a>
   <a href="#ssl.keystore.location">ssl.keystore.location</a>
</h4>
<p>The location of the key store file. This is optional for client and can be used for two-way authentication for client.</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>null</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>high</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="ssl.keystore.password"></a>
   <a href="#ssl.keystore.password">ssl.keystore.password</a>
</h4>
<p>The store password for the key store file. This is optional for client and only needed if ssl.keystore.location is configured. </p>
<table><tbody>
<tr><th>Type:</th><td>password</td></tr>
<tr><th>Default:</th><td>null</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>high</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="ssl.truststore.location"></a>
   <a href="#ssl.truststore.location">ssl.truststore.location</a>
</h4>
<p>The location of the trust store file. </p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>null</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>high</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="ssl.truststore.password"></a>
   <a href="#ssl.truststore.password">ssl.truststore.password</a>
</h4>
<p>The password for the trust store file. If a password is not set access to the truststore is still available, but integrity checking is disabled.</p>
<table><tbody>
<tr><th>Type:</th><td>password</td></tr>
<tr><th>Default:</th><td>null</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>high</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="allow.auto.create.topics"></a>
   <a href="#allow.auto.create.topics">allow.auto.create.topics</a>
</h4>
<p>Allow automatic topic creation on the broker when subscribing to or assigning a topic. A topic being subscribed to will be automatically created only if the broker allows for it using `auto.create.topics.enable` broker configuration. This configuration must be set to `false` when using brokers older than 0.11.0</p>
<table><tbody>
<tr><th>Type:</th><td>boolean</td></tr>
<tr><th>Default:</th><td>true</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="auto.offset.reset"></a>
   <a href="#auto.offset.reset">auto.offset.reset</a>
</h4>
<p>What to do when there is no initial offset in Kafka or if the current offset does not exist any more on the server (e.g. because that data has been deleted): <ul><li>earliest: automatically reset the offset to the earliest offset<li>latest: automatically reset the offset to the latest offset</li><li>none: throw exception to the consumer if no previous offset is found for the consumer's group</li><li>anything else: throw exception to the consumer.</li></ul></p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>latest</td></tr>
<tr><th>Valid Values:</th><td>[latest, earliest, none]</td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="client.dns.lookup"></a>
   <a href="#client.dns.lookup">client.dns.lookup</a>
</h4>
<p>Controls how the client uses DNS lookups. If set to <code>use_all_dns_ips</code>, connect to each returned IP address in sequence until a successful connection is established. After a disconnection, the next IP is used. Once all IPs have been used once, the client resolves the IP(s) from the hostname again (both the JVM and the OS cache DNS name lookups, however). If set to <code>resolve_canonical_bootstrap_servers_only</code>, resolve each bootstrap address into a list of canonical names. After the bootstrap phase, this behaves the same as <code>use_all_dns_ips</code>. If set to <code>default</code> (deprecated), attempt to connect to the first IP address returned by the lookup, even if the lookup returns multiple IP addresses.</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>use_all_dns_ips</td></tr>
<tr><th>Valid Values:</th><td>[default, use_all_dns_ips, resolve_canonical_bootstrap_servers_only]</td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="connections.max.idle.ms"></a>
   <a href="#connections.max.idle.ms">connections.max.idle.ms</a>
</h4>
<p>Close idle connections after the number of milliseconds specified by this config.</p>
<table><tbody>
<tr><th>Type:</th><td>long</td></tr>
<tr><th>Default:</th><td>540000 (9 minutes)</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="default.api.timeout.ms"></a>
   <a href="#default.api.timeout.ms">default.api.timeout.ms</a>
</h4>
<p>Specifies the timeout (in milliseconds) for client APIs. This configuration is used as the default timeout for all client operations that do not specify a <code>timeout</code> parameter.</p>
<table><tbody>
<tr><th>Type:</th><td>int</td></tr>
<tr><th>Default:</th><td>60000 (1 minute)</td></tr>
<tr><th>Valid Values:</th><td>[0,...]</td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="enable.auto.commit"></a>
   <a href="#enable.auto.commit">enable.auto.commit</a>
</h4>
<p>If true the consumer's offset will be periodically committed in the background.</p>
<table><tbody>
<tr><th>Type:</th><td>boolean</td></tr>
<tr><th>Default:</th><td>true</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="exclude.internal.topics"></a>
   <a href="#exclude.internal.topics">exclude.internal.topics</a>
</h4>
<p>Whether internal topics matching a subscribed pattern should be excluded from the subscription. It is always possible to explicitly subscribe to an internal topic.</p>
<table><tbody>
<tr><th>Type:</th><td>boolean</td></tr>
<tr><th>Default:</th><td>true</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="fetch.max.bytes"></a>
   <a href="#fetch.max.bytes">fetch.max.bytes</a>
</h4>
<p>The maximum amount of data the server should return for a fetch request. Records are fetched in batches by the consumer, and if the first record batch in the first non-empty partition of the fetch is larger than this value, the record batch will still be returned to ensure that the consumer can make progress. As such, this is not a absolute maximum. The maximum record batch size accepted by the broker is defined via <code>message.max.bytes</code> (broker config) or <code>max.message.bytes</code> (topic config). Note that the consumer performs multiple fetches in parallel.</p>
<table><tbody>
<tr><th>Type:</th><td>int</td></tr>
<tr><th>Default:</th><td>52428800 (50 mebibytes)</td></tr>
<tr><th>Valid Values:</th><td>[0,...]</td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="group.instance.id"></a>
   <a href="#group.instance.id">group.instance.id</a>
</h4>
<p>A unique identifier of the consumer instance provided by the end user. Only non-empty strings are permitted. If set, the consumer is treated as a static member, which means that only one instance with this ID is allowed in the consumer group at any time. This can be used in combination with a larger session timeout to avoid group rebalances caused by transient unavailability (e.g. process restarts). If not set, the consumer will join the group as a dynamic member, which is the traditional behavior.</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>null</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="isolation.level"></a>
   <a href="#isolation.level">isolation.level</a>
</h4>
<p>Controls how to read messages written transactionally. If set to <code>read_committed</code>, consumer.poll() will only return transactional messages which have been committed. If set to <code>read_uncommitted</code>' (the default), consumer.poll() will return all messages, even transactional messages which have been aborted. Non-transactional messages will be returned unconditionally in either mode. <p>Messages will always be returned in offset order. Hence, in  <code>read_committed</code> mode, consumer.poll() will only return messages up to the last stable offset (LSO), which is the one less than the offset of the first open transaction. In particular any messages appearing after messages belonging to ongoing transactions will be withheld until the relevant transaction has been completed. As a result, <code>read_committed</code> consumers will not be able to read up to the high watermark when there are in flight transactions.</p><p> Further, when in <code>read_committed</code> the seekToEnd method will return the LSO</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>read_uncommitted</td></tr>
<tr><th>Valid Values:</th><td>[read_committed, read_uncommitted]</td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="max.poll.interval.ms"></a>
   <a href="#max.poll.interval.ms">max.poll.interval.ms</a>
</h4>
<p>The maximum delay between invocations of poll() when using consumer group management. This places an upper bound on the amount of time that the consumer can be idle before fetching more records. If poll() is not called before expiration of this timeout, then the consumer is considered failed and the group will rebalance in order to reassign the partitions to another member. For consumers using a non-null <code>group.instance.id</code> which reach this timeout, partitions will not be immediately reassigned. Instead, the consumer will stop sending heartbeats and partitions will be reassigned after expiration of <code>session.timeout.ms</code>. This mirrors the behavior of a static consumer which has shutdown.</p>
<table><tbody>
<tr><th>Type:</th><td>int</td></tr>
<tr><th>Default:</th><td>300000 (5 minutes)</td></tr>
<tr><th>Valid Values:</th><td>[1,...]</td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="max.poll.records"></a>
   <a href="#max.poll.records">max.poll.records</a>
</h4>
<p>The maximum number of records returned in a single call to poll().</p>
<table><tbody>
<tr><th>Type:</th><td>int</td></tr>
<tr><th>Default:</th><td>500</td></tr>
<tr><th>Valid Values:</th><td>[1,...]</td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="partition.assignment.strategy"></a>
   <a href="#partition.assignment.strategy">partition.assignment.strategy</a>
</h4>
<p>A list of class names or class types, ordered by preference, of supported partition assignment strategies that the client will use to distribute partition ownership amongst consumer instances when group management is used.<p>In addition to the default class specified below, you can use the <code>org.apache.kafka.clients.consumer.RoundRobinAssignor</code>class for round robin assignments of partitions to consumers. </p><p>Implementing the <code>org.apache.kafka.clients.consumer.ConsumerPartitionAssignor</code> interface allows you to plug in a custom assignmentstrategy.</p>
<table><tbody>
<tr><th>Type:</th><td>list</td></tr>
<tr><th>Default:</th><td>class org.apache.kafka.clients.consumer.RangeAssignor</td></tr>
<tr><th>Valid Values:</th><td>non-null string</td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="receive.buffer.bytes"></a>
   <a href="#receive.buffer.bytes">receive.buffer.bytes</a>
</h4>
<p>The size of the TCP receive buffer (SO_RCVBUF) to use when reading data. If the value is -1, the OS default will be used.</p>
<table><tbody>
<tr><th>Type:</th><td>int</td></tr>
<tr><th>Default:</th><td>65536 (64 kibibytes)</td></tr>
<tr><th>Valid Values:</th><td>[-1,...]</td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="request.timeout.ms"></a>
   <a href="#request.timeout.ms">request.timeout.ms</a>
</h4>
<p>The 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.</p>
<table><tbody>
<tr><th>Type:</th><td>int</td></tr>
<tr><th>Default:</th><td>30000 (30 seconds)</td></tr>
<tr><th>Valid Values:</th><td>[0,...]</td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="sasl.client.callback.handler.class"></a>
   <a href="#sasl.client.callback.handler.class">sasl.client.callback.handler.class</a>
</h4>
<p>The fully qualified name of a SASL client callback handler class that implements the AuthenticateCallbackHandler interface.</p>
<table><tbody>
<tr><th>Type:</th><td>class</td></tr>
<tr><th>Default:</th><td>null</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="sasl.jaas.config"></a>
   <a href="#sasl.jaas.config">sasl.jaas.config</a>
</h4>
<p>JAAS login context parameters for SASL connections in the format used by JAAS configuration files. JAAS configuration file format is described <a href="http://docs.oracle.com/javase/8/docs/technotes/guides/security/jgss/tutorials/LoginConfigFile.html">here</a>. The format for the value is: '<code>loginModuleClass controlFlag (optionName=optionValue)*;</code>'. For brokers, the config must be prefixed with listener prefix and SASL mechanism name in lower-case. For example, listener.name.sasl_ssl.scram-sha-256.sasl.jaas.config=com.example.ScramLoginModule required;</p>
<table><tbody>
<tr><th>Type:</th><td>password</td></tr>
<tr><th>Default:</th><td>null</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="sasl.kerberos.service.name"></a>
   <a href="#sasl.kerberos.service.name">sasl.kerberos.service.name</a>
</h4>
<p>The Kerberos principal name that Kafka runs as. This can be defined either in Kafka's JAAS config or in Kafka's config.</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>null</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="sasl.login.callback.handler.class"></a>
   <a href="#sasl.login.callback.handler.class">sasl.login.callback.handler.class</a>
</h4>
<p>The fully qualified name of a SASL login callback handler class that implements the AuthenticateCallbackHandler interface. For brokers, login callback handler config must be prefixed with listener prefix and SASL mechanism name in lower-case. For example, listener.name.sasl_ssl.scram-sha-256.sasl.login.callback.handler.class=com.example.CustomScramLoginCallbackHandler</p>
<table><tbody>
<tr><th>Type:</th><td>class</td></tr>
<tr><th>Default:</th><td>null</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="sasl.login.class"></a>
   <a href="#sasl.login.class">sasl.login.class</a>
</h4>
<p>The fully qualified name of a class that implements the Login interface. For brokers, login config must be prefixed with listener prefix and SASL mechanism name in lower-case. For example, listener.name.sasl_ssl.scram-sha-256.sasl.login.class=com.example.CustomScramLogin</p>
<table><tbody>
<tr><th>Type:</th><td>class</td></tr>
<tr><th>Default:</th><td>null</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="sasl.mechanism"></a>
   <a href="#sasl.mechanism">sasl.mechanism</a>
</h4>
<p>SASL mechanism used for client connections. This may be any mechanism for which a security provider is available. GSSAPI is the default mechanism.</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>GSSAPI</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="security.protocol"></a>
   <a href="#security.protocol">security.protocol</a>
</h4>
<p>Protocol used to communicate with brokers. Valid values are: PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL.</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>PLAINTEXT</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="send.buffer.bytes"></a>
   <a href="#send.buffer.bytes">send.buffer.bytes</a>
</h4>
<p>The size of the TCP send buffer (SO_SNDBUF) to use when sending data. If the value is -1, the OS default will be used.</p>
<table><tbody>
<tr><th>Type:</th><td>int</td></tr>
<tr><th>Default:</th><td>131072 (128 kibibytes)</td></tr>
<tr><th>Valid Values:</th><td>[-1,...]</td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="ssl.enabled.protocols"></a>
   <a href="#ssl.enabled.protocols">ssl.enabled.protocols</a>
</h4>
<p>The list of protocols enabled for SSL connections. The default is 'TLSv1.2,TLSv1.3' when running with Java 11 or newer, 'TLSv1.2' otherwise. With the default value for Java 11, clients and servers will prefer TLSv1.3 if both support it and fallback to TLSv1.2 otherwise (assuming both support at least TLSv1.2). This default should be fine for most cases. Also see the config documentation for `ssl.protocol`.</p>
<table><tbody>
<tr><th>Type:</th><td>list</td></tr>
<tr><th>Default:</th><td>TLSv1.2</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="ssl.keystore.type"></a>
   <a href="#ssl.keystore.type">ssl.keystore.type</a>
</h4>
<p>The file format of the key store file. This is optional for client.</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>JKS</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="ssl.protocol"></a>
   <a href="#ssl.protocol">ssl.protocol</a>
</h4>
<p>The SSL protocol used to generate the SSLContext. The default is 'TLSv1.3' when running with Java 11 or newer, 'TLSv1.2' otherwise. This value should be fine for most use cases. Allowed values in recent JVMs are 'TLSv1.2' and 'TLSv1.3'. 'TLS', 'TLSv1.1', 'SSL', 'SSLv2' and 'SSLv3' may be supported in older JVMs, but their usage is discouraged due to known security vulnerabilities. With the default value for this config and 'ssl.enabled.protocols', clients will downgrade to 'TLSv1.2' if the server does not support 'TLSv1.3'. If this config is set to 'TLSv1.2', clients will not use 'TLSv1.3' even if it is one of the values in ssl.enabled.protocols and the server only supports 'TLSv1.3'.</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>TLSv1.2</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="ssl.provider"></a>
   <a href="#ssl.provider">ssl.provider</a>
</h4>
<p>The name of the security provider used for SSL connections. Default value is the default security provider of the JVM.</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>null</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="ssl.truststore.type"></a>
   <a href="#ssl.truststore.type">ssl.truststore.type</a>
</h4>
<p>The file format of the trust store file.</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>JKS</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>medium</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="auto.commit.interval.ms"></a>
   <a href="#auto.commit.interval.ms">auto.commit.interval.ms</a>
</h4>
<p>The frequency in milliseconds that the consumer offsets are auto-committed to Kafka if <code>enable.auto.commit</code> is set to <code>true</code>.</p>
<table><tbody>
<tr><th>Type:</th><td>int</td></tr>
<tr><th>Default:</th><td>5000 (5 seconds)</td></tr>
<tr><th>Valid Values:</th><td>[0,...]</td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="check.crcs"></a>
   <a href="#check.crcs">check.crcs</a>
</h4>
<p>Automatically check the CRC32 of the records consumed. This ensures no on-the-wire or on-disk corruption to the messages occurred. This check adds some overhead, so it may be disabled in cases seeking extreme performance.</p>
<table><tbody>
<tr><th>Type:</th><td>boolean</td></tr>
<tr><th>Default:</th><td>true</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="client.id"></a>
   <a href="#client.id">client.id</a>
</h4>
<p>An 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.</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>""</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="client.rack"></a>
   <a href="#client.rack">client.rack</a>
</h4>
<p>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'</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>""</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="fetch.max.wait.ms"></a>
   <a href="#fetch.max.wait.ms">fetch.max.wait.ms</a>
</h4>
<p>The maximum amount of time the server will block before answering the fetch request if there isn't sufficient data to immediately satisfy the requirement given by fetch.min.bytes.</p>
<table><tbody>
<tr><th>Type:</th><td>int</td></tr>
<tr><th>Default:</th><td>500</td></tr>
<tr><th>Valid Values:</th><td>[0,...]</td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="interceptor.classes"></a>
   <a href="#interceptor.classes">interceptor.classes</a>
</h4>
<p>A list of classes to use as interceptors. Implementing the <code>org.apache.kafka.clients.consumer.ConsumerInterceptor</code> interface allows you to intercept (and possibly mutate) records received by the consumer. By default, there are no interceptors.</p>
<table><tbody>
<tr><th>Type:</th><td>list</td></tr>
<tr><th>Default:</th><td>""</td></tr>
<tr><th>Valid Values:</th><td>non-null string</td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="metadata.max.age.ms"></a>
   <a href="#metadata.max.age.ms">metadata.max.age.ms</a>
</h4>
<p>The 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.</p>
<table><tbody>
<tr><th>Type:</th><td>long</td></tr>
<tr><th>Default:</th><td>300000 (5 minutes)</td></tr>
<tr><th>Valid Values:</th><td>[0,...]</td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="metric.reporters"></a>
   <a href="#metric.reporters">metric.reporters</a>
</h4>
<p>A list of classes to use as metrics reporters. Implementing the <code>org.apache.kafka.common.metrics.MetricsReporter</code> interface allows plugging in classes that will be notified of new metric creation. The JmxReporter is always included to register JMX statistics.</p>
<table><tbody>
<tr><th>Type:</th><td>list</td></tr>
<tr><th>Default:</th><td>""</td></tr>
<tr><th>Valid Values:</th><td>non-null string</td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="metrics.num.samples"></a>
   <a href="#metrics.num.samples">metrics.num.samples</a>
</h4>
<p>The number of samples maintained to compute metrics.</p>
<table><tbody>
<tr><th>Type:</th><td>int</td></tr>
<tr><th>Default:</th><td>2</td></tr>
<tr><th>Valid Values:</th><td>[1,...]</td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="metrics.recording.level"></a>
   <a href="#metrics.recording.level">metrics.recording.level</a>
</h4>
<p>The highest recording level for metrics.</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>INFO</td></tr>
<tr><th>Valid Values:</th><td>[INFO, DEBUG]</td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="metrics.sample.window.ms"></a>
   <a href="#metrics.sample.window.ms">metrics.sample.window.ms</a>
</h4>
<p>The window of time a metrics sample is computed over.</p>
<table><tbody>
<tr><th>Type:</th><td>long</td></tr>
<tr><th>Default:</th><td>30000 (30 seconds)</td></tr>
<tr><th>Valid Values:</th><td>[0,...]</td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="reconnect.backoff.max.ms"></a>
   <a href="#reconnect.backoff.max.ms">reconnect.backoff.max.ms</a>
</h4>
<p>The maximum amount of time in milliseconds to wait when reconnecting 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.</p>
<table><tbody>
<tr><th>Type:</th><td>long</td></tr>
<tr><th>Default:</th><td>1000 (1 second)</td></tr>
<tr><th>Valid Values:</th><td>[0,...]</td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="reconnect.backoff.ms"></a>
   <a href="#reconnect.backoff.ms">reconnect.backoff.ms</a>
</h4>
<p>The 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.</p>
<table><tbody>
<tr><th>Type:</th><td>long</td></tr>
<tr><th>Default:</th><td>50</td></tr>
<tr><th>Valid Values:</th><td>[0,...]</td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="retry.backoff.ms"></a>
   <a href="#retry.backoff.ms">retry.backoff.ms</a>
</h4>
<p>The 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.</p>
<table><tbody>
<tr><th>Type:</th><td>long</td></tr>
<tr><th>Default:</th><td>100</td></tr>
<tr><th>Valid Values:</th><td>[0,...]</td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="sasl.kerberos.kinit.cmd"></a>
   <a href="#sasl.kerberos.kinit.cmd">sasl.kerberos.kinit.cmd</a>
</h4>
<p>Kerberos kinit command path.</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>/usr/bin/kinit</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="sasl.kerberos.min.time.before.relogin"></a>
   <a href="#sasl.kerberos.min.time.before.relogin">sasl.kerberos.min.time.before.relogin</a>
</h4>
<p>Login thread sleep time between refresh attempts.</p>
<table><tbody>
<tr><th>Type:</th><td>long</td></tr>
<tr><th>Default:</th><td>60000</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="sasl.kerberos.ticket.renew.jitter"></a>
   <a href="#sasl.kerberos.ticket.renew.jitter">sasl.kerberos.ticket.renew.jitter</a>
</h4>
<p>Percentage of random jitter added to the renewal time.</p>
<table><tbody>
<tr><th>Type:</th><td>double</td></tr>
<tr><th>Default:</th><td>0.05</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="sasl.kerberos.ticket.renew.window.factor"></a>
   <a href="#sasl.kerberos.ticket.renew.window.factor">sasl.kerberos.ticket.renew.window.factor</a>
</h4>
<p>Login thread will sleep until the specified window factor of time from last refresh to ticket's expiry has been reached, at which time it will try to renew the ticket.</p>
<table><tbody>
<tr><th>Type:</th><td>double</td></tr>
<tr><th>Default:</th><td>0.8</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="sasl.login.refresh.buffer.seconds"></a>
   <a href="#sasl.login.refresh.buffer.seconds">sasl.login.refresh.buffer.seconds</a>
</h4>
<p>The amount of buffer time before credential expiration to maintain when refreshing a credential, in seconds. If a refresh would otherwise occur closer to expiration than the number of buffer seconds then the refresh will be moved up to maintain as much of the buffer time as possible. Legal values are between 0 and 3600 (1 hour); a default value of  300 (5 minutes) is used if no value is specified. This value and sasl.login.refresh.min.period.seconds are both ignored if their sum exceeds the remaining lifetime of a credential. Currently applies only to OAUTHBEARER.</p>
<table><tbody>
<tr><th>Type:</th><td>short</td></tr>
<tr><th>Default:</th><td>300</td></tr>
<tr><th>Valid Values:</th><td>[0,...,3600]</td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="sasl.login.refresh.min.period.seconds"></a>
   <a href="#sasl.login.refresh.min.period.seconds">sasl.login.refresh.min.period.seconds</a>
</h4>
<p>The desired minimum time for the login refresh thread to wait before refreshing a credential, in seconds. Legal values are between 0 and 900 (15 minutes); a default value of 60 (1 minute) is used if no value is specified.  This value and  sasl.login.refresh.buffer.seconds are both ignored if their sum exceeds the remaining lifetime of a credential. Currently applies only to OAUTHBEARER.</p>
<table><tbody>
<tr><th>Type:</th><td>short</td></tr>
<tr><th>Default:</th><td>60</td></tr>
<tr><th>Valid Values:</th><td>[0,...,900]</td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="sasl.login.refresh.window.factor"></a>
   <a href="#sasl.login.refresh.window.factor">sasl.login.refresh.window.factor</a>
</h4>
<p>Login refresh thread will sleep until the specified window factor relative to the credential's lifetime has been reached, at which time it will try to refresh the credential. Legal values are between 0.5 (50%) and 1.0 (100%) inclusive; a default value of 0.8 (80%) is used if no value is specified. Currently applies only to OAUTHBEARER.</p>
<table><tbody>
<tr><th>Type:</th><td>double</td></tr>
<tr><th>Default:</th><td>0.8</td></tr>
<tr><th>Valid Values:</th><td>[0.5,...,1.0]</td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="sasl.login.refresh.window.jitter"></a>
   <a href="#sasl.login.refresh.window.jitter">sasl.login.refresh.window.jitter</a>
</h4>
<p>The maximum amount of random jitter relative to the credential's lifetime that is added to the login refresh thread's sleep time. Legal values are between 0 and 0.25 (25%) inclusive; a default value of 0.05 (5%) is used if no value is specified. Currently applies only to OAUTHBEARER.</p>
<table><tbody>
<tr><th>Type:</th><td>double</td></tr>
<tr><th>Default:</th><td>0.05</td></tr>
<tr><th>Valid Values:</th><td>[0.0,...,0.25]</td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="security.providers"></a>
   <a href="#security.providers">security.providers</a>
</h4>
<p>A list of configurable creator classes each returning a provider implementing security algorithms. These classes should implement the <code>org.apache.kafka.common.security.auth.SecurityProviderCreator</code> interface.</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>null</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="ssl.cipher.suites"></a>
   <a href="#ssl.cipher.suites">ssl.cipher.suites</a>
</h4>
<p>A list of cipher suites. This 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. By default all the available cipher suites are supported.</p>
<table><tbody>
<tr><th>Type:</th><td>list</td></tr>
<tr><th>Default:</th><td>null</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="ssl.endpoint.identification.algorithm"></a>
   <a href="#ssl.endpoint.identification.algorithm">ssl.endpoint.identification.algorithm</a>
</h4>
<p>The endpoint identification algorithm to validate server hostname using server certificate. </p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>https</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="ssl.engine.factory.class"></a>
   <a href="#ssl.engine.factory.class">ssl.engine.factory.class</a>
</h4>
<p>The class of type org.apache.kafka.common.security.auth.SslEngineFactory to provide SSLEngine objects. Default value is org.apache.kafka.common.security.ssl.DefaultSslEngineFactory</p>
<table><tbody>
<tr><th>Type:</th><td>class</td></tr>
<tr><th>Default:</th><td>null</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="ssl.keymanager.algorithm"></a>
   <a href="#ssl.keymanager.algorithm">ssl.keymanager.algorithm</a>
</h4>
<p>The algorithm used by key manager factory for SSL connections. Default value is the key manager factory algorithm configured for the Java Virtual Machine.</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>SunX509</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="ssl.secure.random.implementation"></a>
   <a href="#ssl.secure.random.implementation">ssl.secure.random.implementation</a>
</h4>
<p>The SecureRandom PRNG implementation to use for SSL cryptography operations. </p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>null</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
<li>
<h4 class="anchor-heading">
   <a class="anchor-link" id="ssl.trustmanager.algorithm"></a>
   <a href="#ssl.trustmanager.algorithm">ssl.trustmanager.algorithm</a>
</h4>
<p>The algorithm used by trust manager factory for SSL connections. Default value is the trust manager factory algorithm configured for the Java Virtual Machine.</p>
<table><tbody>
<tr><th>Type:</th><td>string</td></tr>
<tr><th>Default:</th><td>PKIX</td></tr>
<tr><th>Valid Values:</th><td></td></tr>
<tr><th>Importance:</th><td>low</td></tr>
</tbody></table>
</li>
</ul>

