Apache Kafka recently released Kafka 1.1.1 and 2.0.0 and, as per Aiven policy, our users are among the first to have access to both versions. Most of the changes revolve around bug fixes and removal of deprecated features.
That said, both version provide some interesting changes as well, which we will cover in this post. Before we do, we would like to let you in on an update to the Aiven platform that accompany the version releases.
Aiven Kafka users now have the ability to choose which major version to use. Currently, our users will be able to choose between 1.0.2, 1.1.1 and 2.0.0. Let’s look at how this looks in practice and then jump into the release updates!
Kafka major version selection
There are two times when this will be relevant: when creating a new service and when upgrading to a new version. For the former, users will see the available Kafka versions when they open the Service type dropdown.
For the latter, there will be an Upgrade button within the Kafka version row of the service overview page as pictured below. Users can simply click the button and choose the version they would like to move to.
[Upgrading from Kafka 1.0.1]
As you can see, it is pretty simple and straightforward. This provides users another level of autonomy in deploying the Kafka version they are comfortable with and upgrading when they are ready.
Do note that we recommend running the latest available major version at all times. While we will keep the ability to select older major versions for a time, eventually we’ll require you to upgrade to newer major versions as the older ones become deprecated.
Although a minor release focusing on bug fixes, we think that probably the more interesting of the two releases is Apache Kafka 1.1.1. Out of the approximately 25 bug fixes and 4 improvements, among the fixes these three stood out for us:
- [KAFKA-7012] - Performance issue upgrading to kafka 1.0.1 or 1.1
- [KAFKA-7104] - ReplicaFetcher thread may die because of inconsistent log start offset in fetch response
- [KAFKA-6739] - Down-conversion fails for records with headers
In line with Apache versioning protocol, Kafka 2.0.0 removed deprecated features, such as Java 7 support and old Scala clients. Nonetheless, it is still a major release with some mentionable changes:
- [KAFKA-6850] - KIP-244: Add Record Header support to Kafka Streams Processor API
- [KAFKA-2983] - Remove old Scala consumer and all related code, tests, and tools
- [KAFKA-6738] - Kafka Connect handling of bad data
We focused on what we believe to be the top three changes for each Kafka version update. With over 100 combined changes in total, your top 3 may look different. You can look for yours in the original release notes below:
Aiven Kafka users now have access to both version updates and can select which one they initially deploy and what they upgrade to when the time comes. Both updates give our users greater command over their Kafka instances.
We added the ability to choose the Kafka major version to use based on user feedback. So, remember to let us know where you think we can improve. In the meantime, join our blog and changelog RSS feeds; or, follow us on Twitter or LinkedIn to stay up-to-date.