3. If you are using Java8 method references in your Kafka Streams code you might need to update your code to resolve me
Hot-swapping the jar-le only might not work.
4. ACLs should not be added to prexed resources, (added in KIP-290), until all brokers in the cluster have been updated.
NOTE: any prexed ACLs added to a cluster, even after the cluster is fully upgraded, will be ignored should the cluster be
Notable changes in 2.0.0
KIP-186 increases the default offset retention time from 1 day to 7 days. This makes it less likely to "lose" offsets in an appl
infrequently. It also increases the active set of offsets and therefore can increase memory usage on the broker. Note that th
currently enables offset commit by default and can be the source of a large number of offsets which this change will now p
instead of 1. You can preserve the existing behavior by setting the broker cong offsets.retention.minutes to 1440.
Support for Java 7 has been dropped, Java 8 is now the minimum version required.
The default value for ssl.endpoint.identification.algorithm was changed to https , which performs hostname
the-middle attacks are possible otherwise). Set ssl.endpoint.identification.algorithm to an empty string to resto
behaviour.
KAFKA-5674 extends the lower interval of max.connections.per.ip minimum to zero and therefore allows IP-based lt
connections.
KIP-272 added API version tag to the metric kafka.network:type=RequestMetrics,name=RequestsPerSec,request=
{Produce|FetchConsumer|FetchFollower|...} . This metric now becomes
kafka.network:type=RequestMetrics,name=RequestsPerSec,request={Produce|FetchConsumer|FetchFollower
{0|1|2|3|...} . This will impact JMX monitoring tools that do not automatically aggregate. To get the total count for a sp
the tool needs to be updated to aggregate across different versions.
KIP-225 changed the metric "records.lag" to use tags for topic and partition. The original version with the name format "{top
{partition}.records-lag" has been removed.
The Scala consumers, which have been deprecated since 0.11.0.0, have been removed. The Java consumer has been the re
since 0.10.0.0. Note that the Scala consumers in 1.1.0 (and older) will continue to work even if the brokers are upgraded to 2
The Scala producers, which have been deprecated since 0.10.0.0, have been removed. The Java producer has been the reco
since 0.9.0.0. Note that the behaviour of the default partitioner in the Java producer differs from the default partitioner in th
Users migrating should consider conguring a custom partitioner that retains the previous behaviour. Note that the Scala pr
older) will continue to work even if the brokers are upgraded to 2.0.0.
MirrorMaker and ConsoleConsumer no longer support the Scala consumer, they always use the Java consumer.
The ConsoleProducer no longer supports the Scala producer, it always uses the Java producer.
A number of deprecated tools that rely on the Scala clients have been removed: ReplayLogProducer, SimpleConsumerPerfo
SimpleConsumerShell, ExportZkOffsets, ImportZkOffsets, UpdateOffsetsInZK, VerifyConsumerRebalance.
The deprecated kafka.tools.ProducerPerformance has been removed, please use org.apache.kafka.tools.ProducerPerforma
New Kafka Streams conguration parameter upgrade.from added that allows rolling bounce upgrade from older version
KIP-284 changed the retention time for Kafka Streams repartition topics by setting its default value to Long.MAX_VALUE .
Updated ProcessorStateManager APIs in Kafka Streams for registering state stores to the processor topology. For more
the Streams Upgrade Guide.
In earlier releases, Connect's worker conguration required the internal.key.converter and internal.value.conve
2.0, these are no longer required and default to the JSON converter. You may safely remove these properties from your Con
distributed worker congurations:
internal.key.converter=org.apache.kafka.connect.json.JsonConverter internal.key.converter.schemas
internal.value.converter=org.apache.kafka.connect.json.JsonConverter
internal.value.converter.schemas.enable=false
KIP-266 adds a new consumer conguration default.api.timeout.ms to specify the default timeout to use for Kafka
could block. The KIP also adds overloads for such blocking APIs to support specifying a specic timeout to use for each of
using the default timeout set by default.api.timeout.ms . In particular, a new poll(Duration) API has been added
for dynamic partition assignment. The old poll(long) API has been deprecated and will be removed in a future version.
been added for other KafkaConsumer methods like partitionsFor , listTopics , offsetsForTimes , beginning
endOffsets and close that take in a Duration .
Also as part of KIP-266, the default value of request.timeout.ms has been changed to 30 seconds. The previous value
than 5 minutes to account for maximum time that a rebalance would take. Now we treat the JoinGroup request in the rebala
case and use a value derived from max.poll.interval.ms for the request timeout. All other request types use the timeo
request.timeout.ms
The internal method kafka.admin.AdminClient.deleteRecordsBefore has been removed. Users are encouraged to m
org.apache.kafka.clients.admin.AdminClient.deleteRecords .