Starting with v2.5, Aiven for Apache Kafka major.minor version will be fully supported for one year after it's made available on Aiven platform (this article lists support end dates for all services). After the version goes out of support, all services are automatically upgraded to the latest supported Aiven for Apache Kafka version.

For a vast majority of users this automatic upgrade is seamless and has no impact on availability or usage of the Kafka service. Users can also opt to upgrade to a new or different version ahead of the deadline at their convenience to make sure the upgrade doesn't affect their applications.

Version specific considerations

Please read through the notable changes in various versions of Apache Kafka: 1.1.0, 1.1.1, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8. This will help you gain an understanding of what to expect with this upgrade.

Many of these changes may be not relevant to you or concern the client side (Kafka clients, Kafka Streams). Do note that it's not necessary to upgrade the client libraries immediately with the server-side upgrade (see a note on client protocol compatibility below).

We would like to emphasize on some of the changes:

  • KIP-225 changed the metric records.lag to use tags for topic and partition. The original version with the name format {topic}-{partition}.records-lag was deprecated in version 1.0.0 and removed in version 2.0.0.

  • In version 2.0.0, the default offset retention time was increased from 1 day to 7 days.

  • In version 2.0.0, the default value of ssl.endpoint.identification.algorithm was changed to https, which performs hostname verification. Set it to an empty string ("") to restore the previous behavior.

  • In version 2.0.0, API version tag was added to the metric kafka.network:type=RequestMetrics,name=RequestsPerSec,request={Produce|FetchConsumer|FetchFollower|...}. This metric became kafka.network:type=RequestMetrics,name=RequestsPerSec,request={Produce|FetchConsumer|FetchFollower|...},version={0|1|2|3|...}.

  • In version 2.2.0, the default consumer group id has been changed from the empty string ("") to null. Old clients that rely on the empty string group id will now have to explicitly provide it as part of their consumer configuration. For more information see KIP-289.

Upgrading to latest supported version from Aiven Console

Go to the Overview page of the affected service, click on "Upgrade Available" button as annotated in the screenshot below and follow the instructions. By default the drop-down menu offers latest supported version of Kafka on Aiven, but you may choose to upgrade only to a specific version of Kafka supported on Aiven.

During the upgrade process, your cluster will be running mixed versions. For example, you may have one broker on 2.5 and two brokers on 2.8.

Please note that Kafka has a "bidirectional" client protocol compatibility policy. In other words, new clients can talk to old servers, and old clients can talk to new servers. This allows you to upgrade either clients or servers without experiencing any downtime.

Did this answer your question?