+1. But can we also look at this from the deployment base point view and find out how many production deployments are still using 2.9? If there is not any, dropping it is really an easy decision.
Thanks Sent from my iPhone > On Mar 27, 2015, at 8:21 AM, Ismael Juma <mli...@juma.me.uk> wrote: > > Hi all, > > The Kafka build currently includes support for Scala 2.9, which means that > it cannot take advantage of features introduced in Scala 2.10 or depend on > libraries that require it. > > This restricts the solutions available while trying to solve existing > issues. I was browsing JIRA looking for areas to contribute and I quickly > ran into two issues where this is the case: > > * KAFKA-1351: "String.format is very expensive in Scala" could be solved > nicely by using the String interpolation feature introduced in Scala 2.10. > > * KAFKA-1595: "Remove deprecated and slower scala JSON parser from > kafka.consumer.TopicCount" could be solved by using an existing JSON > library, but both jackson-scala and play-json require 2.10 (argonaut > supports Scala 2.9, but it brings other dependencies like scalaz). We can > workaround this by writing our own code instead of using libraries, of > course, but it's not ideal. > > Other features like Scala Futures and value classes would also be useful in > some situations, I would think (for a more extensive list of new features, > see > http://scala-language.1934581.n4.nabble.com/Scala-2-10-0-now-available-td4634126.html > ). > > Another pain point of supporting 2.9.x is that it doubles the number of > build and test configurations required from 2 to 4 (because the 2.9.x > series was not necessarily binary compatible). > > A strong argument for maintaining support for 2.9.x was the client library, > but that has been rewritten in Java. > > It's also worth mentioning that Scala 2.9.1 was released in August 2011 > (more than 3.5 years ago) and the 2.9.x series hasn't received updates of > any sort since early 2013. Scala 2.10.0, in turn, was released in January > 2013 (over 2 years ago) and 2.10.5, the last planned release in the 2.10.x > series, has been recently released (so even 2.10.x won't be receiving > updates any longer). > > All in all, I think it would not be unreasonable to drop support for Scala > 2.9.x in a future release, but I may be missing something. What do others > think? > > Ismael