-Re: Kafka and Scala versions
Jun Rao 2013-04-09, 16:01
Ok. Thanks. We will look into upgrading to 2.8.2 post 0.8.
On Mon, Apr 8, 2013 at 2:08 PM, Scott Carey <[EMAIL PROTECTED]> wrote:
> We are on 2.10 already.
> String interpolation (2.10), Value classes (2.10), parallel collections
> (2.9), are too good to give up. Akka actors, futures, and promises being
> part of the distribution are nice as well.
> The compiler is faster, and emits a lot of warnings in Kafka code that
> could be bugs in Kafka.
> Upgrading to 2.8.2 significantly simplifies the ability to cross-compile
> with 2.10 (only one small file needs to have a version that differs,
> instead of ~1500 lines). See my recent patches in KAFKA-717.
> On 4/7/13 10:17 PM, "Jun Rao" <[EMAIL PROTECTED]> wrote:
> >Yes, we are still using scala 2.8.0 at LinkedIn. We do plan to upgrade to
> >later version of scala at some point. However, this may take some time
> >since we will need to upgrade other scala projects at LinkedIn at the same
> >It's unfortunate that code change is needed in order to support scala
> >What are the things that you are looking for in scala 2.10?
> >On Fri, Apr 5, 2013 at 1:10 PM, Scott Carey <[EMAIL PROTECTED]>
> >> Kafka 0.8 and trunk by default have SBT set up to cross-compile 2.8.0,
> >> 2.8.2, 2.9.1 and 2.9.2, and it defaults to 2.8.0.
> >> I assume that one of the major contributors requires 2.8.0. Any
> >> approximation on how long will that last?
> >> Dropping 2.8.0 would be beneficial because some uses of Java Conversions
> >> is replaced with Java Converters (in 2.10 +), and Java Converters was
> >> added until 2.8.1.
> >> avaconverters-and-javaconversions-in-scala
> >> https://issues.apache.org/jira/browse/KAFKA-717 is attempting to add
> >> support for Scala 2.10. The required changes to support 2.10 use Java
> >> Converters, which is not available in 2.8.0.
> >> The other item required to support Scala 2.10 is to move from
> >> scala.StaticAnnotation to scala.annotation.StaticAnnotation.
> >> Scala 2.10.x has only scala.annotation.StaticAnnotation.
> >> Scala 2.9.x has both scala.StaticAnnotation (deprecated) and
> >> scala.annotation.StaticAnnotation.
> >> Scala 2.8.x has only scala.StaticAnnotation
> >> Dropping support for 2.8.x entirely and supporting only 2.9.x and 2.10.x
> >> would make 2.10.x support easy.
> >> If 2.8.2 is required (but not 2.8.0), then some sort of conditional
> >> compile or two flavors of the source code where
> >> scala.annotation.StaticAnnotation is used will be required. Use of
> >> StaticAnnotation is very limited.
> >> If 2.8.0 must be kept, then two versions of all code that uses Java
> >> Conversions APIs will also need to be maintained.
> >> I can't find any discussions about 2.8.0 usage requirements. I also
> >> know enough about sbt to configure cross compilation to use different
> >> source files for different cases, which would solve the problems above
> >> add some maintenance burden.