Versions Compared

Key

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

Table of Contents
Status

Current stateUnder Discussion

Discussion thread: TODO

JIRA: TODO

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

Motivation

Currently org.apache.kafka.streams.scala.Serdes contains implicit Serde instances. And some of these implicits are named the same as its Serde type. For example:

...

This KIP was created as a result of this pull request.

Proposed Change

The only way to make it work without naming clash is to rename these implicits. In scala implicits are usually named like these:

Code Block
languagescala
firstline0
implicit def longSerde: Serde[Long] = ???

Changed public Interfaces

New serde names should looks like these:

...

Not all old names have name clash, but I think it worth to rename all implicits for consistency.

Migration Plan, Compatibility and Deprecation

These changes are both not binary and not code compatible with the current 2.5 version. Also, users could use these implicits by its full name (org.apache.kafka.streams.scala.Serdes.String). It means that we should pass these changes through deprecation cycle. I propose the next plan:

...