conduktor.io ↗

Kafka 2.5 → 2.6 Upgrade Guide

Kafka 2.6 brings 14 new configs, removes 0, and changes 109 defaults compared to 2.5.

+14 configs 109 defaults changed 27 KIPs

New Configurations

ConfigCategoryDefault
ssl.engine.factory.classbrokernull
ssl.engine.factory.classconsumernull
ssl.engine.factory.classproducernull
response.http.headers.configconnect_default
ssl.engine.factory.classconnect_defaultnull
topic.creation.enableconnect_defaulttrue
predicatesconnect_source
topic.creation.groupsconnect_source
predicatesconnect_sink
acceptable.recovery.lagstream10000
default.windowed.key.serde.innerstreamnull
default.windowed.value.serde.innerstreamnull
max.warmup.replicasstream2
probing.rebalance.interval.msstream600000 (10 minutes)

Changed Defaults

ConfigOld DefaultNew Default
connections.max.idle.ms600000600000 (10 minutes)
controlled.shutdown.retry.backoff.ms50005000 (5 seconds)
controller.socket.timeout.ms3000030000 (30 seconds)
delegation.token.expiry.check.interval.ms36000003600000 (1 hour)
delegation.token.expiry.time.ms8640000086400000 (1 day)
delegation.token.max.lifetime.ms604800000604800000 (7 days)
fetch.max.bytes5767168057671680 (55 mebibytes)
group.initial.rebalance.delay.ms30003000 (3 seconds)
group.max.session.timeout.ms18000001800000 (30 minutes)
group.min.session.timeout.ms60006000 (6 seconds)
inter.broker.protocol.version2.5-IV02.6-IV0
log.cleaner.backoff.ms1500015000 (15 seconds)
log.cleaner.delete.retention.ms8640000086400000 (1 day)
log.flush.offset.checkpoint.interval.ms6000060000 (1 minute)
log.flush.start.offset.checkpoint.interval.ms6000060000 (1 minute)
log.index.interval.bytes40964096 (4 kibibytes)
log.index.size.max.bytes1048576010485760 (10 mebibytes)
log.message.format.version2.5-IV02.6-IV0
log.retention.check.interval.ms300000300000 (5 minutes)
log.segment.bytes10737418241073741824 (1 gibibyte)
log.segment.delete.delay.ms6000060000 (1 minute)
metrics.sample.window.ms3000030000 (30 seconds)
offset.metadata.max.bytes40964096 (4 kibibytes)
offsets.commit.timeout.ms50005000 (5 seconds)
offsets.retention.check.interval.ms600000600000 (10 minutes)
offsets.topic.segment.bytes104857600104857600 (100 mebibytes)
replica.fetch.backoff.ms10001000 (1 second)
replica.fetch.max.bytes10485761048576 (1 mebibyte)
replica.fetch.response.max.bytes1048576010485760 (10 mebibytes)
replica.high.watermark.checkpoint.interval.ms50005000 (5 seconds)
replica.lag.time.max.ms3000030000 (30 seconds)
replica.socket.receive.buffer.bytes6553665536 (64 kibibytes)
replica.socket.timeout.ms3000030000 (30 seconds)
request.timeout.ms3000030000 (30 seconds)
socket.receive.buffer.bytes102400102400 (100 kibibytes)
socket.request.max.bytes104857600104857600 (100 mebibytes)
socket.send.buffer.bytes102400102400 (100 kibibytes)
transaction.abort.timed.out.transaction.cleanup.interval.ms1000010000 (10 seconds)
transaction.max.timeout.ms900000900000 (15 minutes)
transaction.remove.expired.transaction.cleanup.interval.ms36000003600000 (1 hour)
transaction.state.log.segment.bytes104857600104857600 (100 mebibytes)
transactional.id.expiration.ms604800000604800000 (7 days)
zookeeper.session.timeout.ms1800018000 (18 seconds)
zookeeper.sync.time.ms20002000 (2 seconds)
auto.commit.interval.ms50005000 (5 seconds)
client.dns.lookupdefaultuse_all_dns_ips
connections.max.idle.ms540000540000 (9 minutes)
default.api.timeout.ms6000060000 (1 minute)
fetch.max.bytes5242880052428800 (50 mebibytes)
heartbeat.interval.ms30003000 (3 seconds)
max.partition.fetch.bytes10485761048576 (1 mebibyte)
max.poll.interval.ms300000300000 (5 minutes)
metadata.max.age.ms300000300000 (5 minutes)
metrics.sample.window.ms3000030000 (30 seconds)
receive.buffer.bytes6553665536 (64 kibibytes)
reconnect.backoff.max.ms10001000 (1 second)
request.timeout.ms3000030000 (30 seconds)
send.buffer.bytes131072131072 (128 kibibytes)
session.timeout.ms1000010000 (10 seconds)
client.dns.lookupdefaultuse_all_dns_ips
connections.max.idle.ms540000540000 (9 minutes)
delivery.timeout.ms120000120000 (2 minutes)
max.block.ms6000060000 (1 minute)
metadata.max.age.ms300000300000 (5 minutes)
metadata.max.idle.ms300000300000 (5 minutes)
metrics.sample.window.ms3000030000 (30 seconds)
receive.buffer.bytes3276832768 (32 kibibytes)
reconnect.backoff.max.ms10001000 (1 second)
request.timeout.ms3000030000 (30 seconds)
send.buffer.bytes131072131072 (128 kibibytes)
transaction.timeout.ms6000060000 (1 minute)
delete.retention.ms8640000086400000 (1 day)
file.delete.delay.ms6000060000 (1 minute)
index.interval.bytes40964096 (4 kibibytes)
message.format.version2.5-IV02.6-IV0
retention.ms604800000604800000 (7 days)
segment.bytes10737418241073741824 (1 gibibyte)
segment.index.bytes1048576010485760 (10 mebibytes)
segment.ms604800000604800000 (7 days)
client.dns.lookupdefaultuse_all_dns_ips
connections.max.idle.ms540000540000 (9 minutes)
heartbeat.interval.ms30003000 (3 seconds)
inter.worker.key.ttl.ms36000003600000 (1 hour)
metadata.max.age.ms300000300000 (5 minutes)
metrics.sample.window.ms3000030000 (30 seconds)
offset.flush.interval.ms6000060000 (1 minute)
offset.flush.timeout.ms50005000 (5 seconds)
rebalance.timeout.ms6000060000 (1 minute)
receive.buffer.bytes3276832768 (32 kibibytes)
reconnect.backoff.max.ms10001000 (1 second)
request.timeout.ms4000040000 (40 seconds)
scheduled.rebalance.max.delay.ms300000300000 (5 minutes)
send.buffer.bytes131072131072 (128 kibibytes)
session.timeout.ms1000010000 (10 seconds)
task.shutdown.graceful.timeout.ms50005000 (5 seconds)
worker.sync.timeout.ms30003000 (3 seconds)
worker.unsync.backoff.ms300000300000 (5 minutes)
errors.retry.delay.max.ms6000060000 (1 minute)
errors.retry.delay.max.ms6000060000 (1 minute)
commit.interval.ms3000030000 (30 seconds)
connections.max.idle.ms540000540000 (9 minutes)
metadata.max.age.ms300000300000 (5 minutes)
metrics.sample.window.ms3000030000 (30 seconds)
receive.buffer.bytes3276832768 (32 kibibytes)
reconnect.backoff.max.ms10001000 (1 second)
request.timeout.ms4000040000 (40 seconds)
send.buffer.bytes131072131072 (128 kibibytes)
state.cleanup.delay.ms600000600000 (10 minutes)
windowstore.changelog.additional.retention.ms8640000086400000 (1 day)

Protocol Changes

ListGroups v4 · ListGroups v4 · DeleteRecords v2 · DeleteRecords v2 · DescribeConfigs v3 · DescribeConfigs v3 · DescribeLogDirs v2 · DescribeLogDirs v2

KIPs Released

KIP-131 Add access to OffsetStorageReader from SourceConnector
KIP-158 Kafka Connect should allow source connectors to set topic-specific settings for new topics
KIP-221 Enhance DSL with Connecting Topic Creation and Repartition Hint
KIP-422 KIP-421
KIP-437 Custom replacement for MaskField SMT
KIP-518 Allow listing consumer groups per state
KIP-535 Allow state stores to serve stale reads during rebalance
KIP-544 Make metrics exposed via JMX configurable
KIP-546 Add Client Quota APIs to the Admin Client
KIP-551 Expose disk read and write metrics
KIP-557 Add emit on change support for Kafka Streams
KIP-568 Explicit rebalance triggering on the Consumer
KIP-569 DescribeConfigsResponse - Update the schema to include additional metadata information of the field
KIP-570 Add leader epoch in StopReplicaRequest
KIP-571 Add option to force remove members in StreamsResetter
KIP-573 Enable TLSv1.3 by default
KIP-574 CLI Dynamic Configuration with file input
KIP-585 Filter and Conditional SMTs
KIP-586 Deprecate commit records without record metadata
KIP-594 Expose output topic names from TopologyTestDriver
KIP-602 Change default value for client.dns.lookup
KIP-604 Remove ZooKeeper Flags from the Administrative Tools
KIP-605 Expand Connect Worker Internal Topic Settings
KIP-606 Add Metadata Context to MetricsReporter
KIP-610 Error Reporting in Sink Connectors
KIP-613 Add end-to-end latency metrics to Streams
KIP-1137 Standardize Configuration Precedence for Tool Scripts
Planning a Kafka upgrade? Conduktor Console helps you manage and monitor your clusters during migration.