Preparing Apache Kafka for Scala 3
summary
Attempting to compile Apache Kafka with Scala 3 produces a working proof of concept but requires months of fixes: Gradle gains Scala 3 support in 7.3.0, several Scala 3 compiler bugs break Java–Scala interop (overload resolution, missing companion static methods, var-in-constructor + supercalls, primitive vs boxed varargs, by-name type erasure) and get patched across the 3.1.x releases, and a GitHub PR accumulates the edits after ~three months of work as a non-mergeable feasibility study.
AI-written summary · about
chapters (19)
- 0:00Introduction and motivation
- 1:02Speaker background and context
- 2:30Apache Kafka overview
- 4:57First migration attempt and challenges
- 7:49Single abstract methods and overloads
- 12:28Static forwarders in companion objects
- 14:54Variable handling in super calls
- 17:45Java varargs with parameterized types
- 21:04Type erased by-name parameters
- 22:50Proof of concept completion
- 23:52Future of Kafka and Scala 3
- 25:37Reflection on Scala and Java usage
- 27:38Java-Scala interoperability regressions
- 29:02Improving community build and support
- 31:56Role of Scala experts in mixed projects
- 33:00Historical challenges in Scala migrations
- 34:02How to contribute and help
- 37:37Call to action and resources
- 38:18Q&A session








