Details
-
Task
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
None
-
None
-
None
Description
Currently, the core/upgrade_test.py exercises rolling from various past Kafka versions to the development version. The earliest version that it currently tests is 0_8_2_LATEST, 0.8.2.2, released October 2, 2015.
The test has a special case for that that version, which does not contain a copy of the `tools` jar. The test is written to make use of the tools jar for assertions, but because the jar does not exist in 0.8.2.2, a jar from the latest development version is used instead. For example, this has the effect that when executing the 0.8.2.2 upgrade case, the 3.5.0-SNAPSHOT tools jar is on the classpath with the 0.8.2.2 clients jar.
Because of this, development on the VerifiableProducer has needed to be backwards compatible with the 0.8.2.2 clients jar, and this has lead to code duplication and other limitations on the maintenance that can be done to the class. This appears to be mostly an artifact of how the testing is carried out, as upgrades are typically performed without mixing jars from different versions of Kafka.
In order to lift those limitations, we should eliminate this one version from compatibility testing. Accompanying this change, we should update the latest documentation to say "Upgrading to <version> from any version 0.9.x through <version>" instead of 0.8.x, since that version will no longer be regularly tested.
Attachments
Attachments
Issue Links
- is blocked by
-
KAFKA-14560 Remove old client protocol API versions in Kafka 4.0 (KIP-896)
- Open
- is related to
-
KAFKA-14760 Move ThroughputThrottler, break connect-runtime dependency on tools
- Resolved