conduktor.io ↗

Kafka 2.8 → 3.0 Upgrade Guide

Kafka 3.0 brings 28 new configs, removes 13, and changes 15 defaults compared to 2.8.

+28 configs −13 configs 15 defaults changed 27 KIPs

Removed Configurations

ConfigCategory
advertised.host.namebroker
advertised.portbroker
host.namebroker
portbroker
quota.consumer.defaultbroker
quota.producer.defaultbroker
internal.key.converterconnect_default
internal.value.converterconnect_default
rest.host.nameconnect_default
rest.portconnect_default
default.windowed.key.serde.innerstream
default.windowed.value.serde.innerstream
partition.grouperstream

New Configurations

ConfigCategoryDefault
broker.heartbeat.interval.msbroker2000 (2 seconds)
broker.session.timeout.msbroker9000 (9 seconds)
controller.listener.namesbrokernull
controller.quorum.append.linger.msbroker25
controller.quorum.election.backoff.max.msbroker1000 (1 second)
controller.quorum.election.timeout.msbroker1000 (1 second)
controller.quorum.fetch.timeout.msbroker2000 (2 seconds)
controller.quorum.request.timeout.msbroker2000 (2 seconds)
controller.quorum.retry.backoff.msbroker20
controller.quorum.votersbroker
initial.broker.registration.timeout.msbroker60000 (1 minute)
metadata.log.dirbrokernull
metadata.log.max.record.bytes.between.snapshotsbroker20971520
metadata.log.segment.bytesbroker1073741824 (1 gibibyte)
metadata.log.segment.msbroker604800000 (7 days)
metadata.max.retention.bytesbroker-1
metadata.max.retention.msbroker604800000 (7 days)
node.idbroker-1
process.rolesbroker
sasl.mechanism.controller.protocolbrokerGSSAPI
local.retention.bytestopic-2
local.retention.mstopic-2
remote.storage.enabletopicfalse
default.list.key.serde.innerstreamnull
default.list.key.serde.typestreamnull
default.list.value.serde.innerstreamnull
default.list.value.serde.typestreamnull
windowed.inner.class.serdestreamnull

Changed Defaults

ConfigOld DefaultNew Default
inter.broker.protocol.version2.8-IV13.0-IV1
listenersnullPLAINTEXT://:9092
log.message.format.version2.8-IV13.0-IV1
principal.builder.classnullorg.apache.kafka.common.security.authenticator.DefaultKafkaPrincipalBuilder
partition.assignment.strategyclass org.apache.kafka.clients.consumer.RangeAssignorclass org.apache.kafka.clients.consumer.RangeAssignor,class org.apache.kafka.clients.consumer.CooperativeStickyAssignor
session.timeout.ms10000 (10 seconds)45000 (45 seconds)
acks1all
enable.idempotencefalsetrue
message.format.version2.8-IV13.0-IV1
connector.client.config.override.policyNoneAll
listenersnullhttp://:8083
default.key.serdeorg.apache.kafka.common.serialization.Serdes$ByteArraySerdenull
default.value.serdeorg.apache.kafka.common.serialization.Serdes$ByteArraySerdenull
replication.factor1-1
state.dir/var/folders/st/wn8xlbk16ml31qrqpyh28rlc0000gn/T//kafka-streams/var/folders/5w/m48dfpps5fj1byw1ldmq3v5w0000gp/T//kafka-streams

Protocol Changes

ListOffsets v7 · ListOffsets v7 · OffsetFetch v8 · OffsetFetch v8 · FindCoordinator v4 · FindCoordinator v4

KIPs Released

KIP-216 IQ should throw different exceptions for different errors
KIP-466 Add support for List<T> serialization and deserialization
KIP-622 Add currentSystemTimeMs and currentStreamTimeMs to ProcessorContext
KIP-633 Deprecate 24-hour Default Grace Period for Windowed Operations in Streams
KIP-635 GetOffsetShell: support for multiple topics and consumer configuration override
KIP-666 Add Instant-based methods to ReadOnlySessionStore
KIP-681 Rename master key in delegation token feature
KIP-695 Further Improve Kafka Streams Timestamp Synchronization
KIP-699 Update FindCoordinator to resolve multiple Coordinators at a time
KIP-707 The future of KafkaFuture
KIP-716 Allow configuring the location of the offset-syncs topic with MirrorMaker2
KIP-720 Deprecate MirrorMaker v1
KIP-721 Enable connector log contexts in Connect Log4j configuration
KIP-722 Enable connector client overrides by default
KIP-724 Drop support for message formats v0 and v1
KIP-730 Producer ID generation in KRaft mode
KIP-732 Deprecate eos-alpha and replace eos-beta with eos-v2
KIP-733 change Kafka Streams default replication factor config
KIP-734 Improve AdminClient.listOffsets to return timestamp and offset for the record with the largest timestamp
KIP-735 Increase default consumer session timeout
KIP-737 Add canTrackSource to ReplicationPolicy
KIP-738 Removal of Connect's internal converter properties
KIP-740 Clean up public API in TaskId
KIP-743 Remove config value 0.10.0-2.4 of Streams built-in metrics version config
KIP-744 Migrate TaskMetadata and ThreadMetadata to an interface with internal implementation
KIP-745 Connect API to restart connector and tasks
KIP-746 Revise KRaft Metadata Records
Planning a Kafka upgrade? Conduktor Console helps you manage and monitor your clusters during migration.