Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Status

Current stateIn DiscussionAdopted

Discussion thread: here

JIRA: here

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-9324
Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-9333

Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).

...

  • Deprecate Scala 2.11 build in Kafka 2.4.
  • Update build.gradle to remove all tasks for Scala 2.11 and remove code in build.gradle and dependencies.gradle that is conditional on Scala 2.11.
  • Remove FunctionsCompatConversions and other workarounds in Deprecate org.apache.kafka.streams.scala.kstream.Suppressed in kafka-streams-scala in order to support as it is only needed for Scala 2.11 support.

  • Update Readme not to mention Scala 2.11 as a supported version.
  • Remove any other workarounds needed by Scala 2.11 (e.g. a number of methods in `CoreUtils` can be removed).
  • Introduce a shim `core` module that targets the default scala version. This useful for applications that do not require a specific Scala version. Java applications that shade Scala dependencies or Java applications that have a single Scala dependency would fall under this category. We will target Scala 2.13 in the initial version of this module.

Compatibility, Deprecation, and Migration Plan

...

  1. Drop support for Scala 2.11 in Kafka 3.0 instead. There is no date set for Kafka 3.0 and the cost seems to outweigh the benefits.

Potential Future Work

  1. Remove different scala versions as an option for the `core` jar in Kafka 3.0. This would work best if combined with a Java API for broker integration testing.