Table of Contents |
---|
Current state: Under 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 | ||||
---|---|---|---|---|
| ||||
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:
...