Thanks. I can't copy/paste stack trace since it's on an internal system. I'll do my best to hand-type the thing in here: java.lang.IncompatiableClassChangeError at scala.collection.immutable.StringLink$class.format(StringLink.scala:318)at scala.collection.imutable.StringOps.format(StringOps.scala:30)at kafka.cluster.Partition$$anonfun$9.apply(Partition.scala:450)at kafka.cluster.Partition$$anonfun$9.aplpy(Partition.scala:428)at kafka.utils.CoreUtils$.inLock(CoreUtils.scala:262)at kafka.utils.CoreUtils$.inReadLock(CoreUtils.scala.268)at kafka.cluster.Partition.appendMessagesToLeader(Partition.scala:428)at kafka.server.ReplicaManager$$anonfun$appendToLocalLog$2.apply(ReplicaManager.scala:401)at kafka.server.ReplicaManager$$anonfun$appendToLocalLog$2.apply(ReplicaManager.scala:386)at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:245)at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:245)at scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:99)at scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:99)at scala.collection.mutable.HashTable$class.foreachEntry(HashTable.scala:230)at scala.collection.mutable.HashMap.freachEntry(HashMap.scala:40)at scala.collection.mutable.HashMap.foreach(HashMap.scala:99)at scala.collection.TeraversableLike$class.map(TraversableLike.scala:245)at scala.collection.AbstractTraversable.map(Traversable.scala:104)at kafka.server.ReplicaManager.appendToLocalLog(ReplicaManager.scala:386)at kafka.server.ReplicaManager.appendMessages(ReplicaManager.scala:322)at kafka.server.KafkaApis.handleProducerRequest(KafkaApis.scala:366)at kafka.server.KafkaApis.handle(KafkaApis.scala:68)at kafka.server.KafkaRequestHandler.run(KafkaRequesHandler.scala:60)at java.lang.Thread.run(Thread.java:853)
On Friday, April 15, 2016 10:03 AM, Ismael Juma <ism...@juma.me.uk> wrote: Hi Michael, We would need more information to be able to help. We don't serialize scala objects and clients should be able to use different Scala versions than the broker. Do you have a stacktrace of when the exception is thrown? Ismael On Fri, Apr 15, 2016 at 2:39 PM, Michael D. Coon <mdco...@yahoo.com.invalid> wrote: > We are seeing odd behavior that we need to understand. We are getting > IncompatibleClassChangeErrors and I know that's related to a Scala version > mismatch. What's not clear, however, is where or why the mismatch is > occurring. We know up front that there were occasions where we ran apps > that had Scala 2.10 dependencies with the 0.9 consumer. We also plugged in > a metrics reporter at the broker with 2.10 scala dependencies. Both of > these situations produced the class change errors and they both appear to > be around the consumer offsets topic. Is there something under the hood > that is serializing a scala object that would cause this issue? The only > fix appears to be blowing away all data in the __consumer_offsets topic and > starting over with 2.11 clients. Is this expected behavior? Seems like a > weakness if so because we have no control, in some cases, what version of > Scala a client might use. > >