[ https://issues.apache.org/jira/browse/KAFKA-933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13676093#comment-13676093 ]
Andrew Milkowski commented on KAFKA-933: ---------------------------------------- workaround was to patch DataGenerator to send the message string, instead the Message object locally I patched DataGenerator public void run() throws Exception { List<KeyedMessage<Integer, String>> list = new ArrayList<KeyedMessage<Integer, String>>(); for (int i = 0; i < 50; i++) { Long timestamp = RANDOM.nextLong(); if (timestamp < 0) timestamp = -timestamp; String messageStr = timestamp.toString(); log.info(" creating message: " + messageStr); list.add(new KeyedMessage<Integer, String>(topic, null, messageStr)); } log.info(" send " + list.size() + " " + topic + " count events to " + uri); producer.send(list); producer.close(); generateOffsets(); } > Hadoop example running DataGenerator causes kafka.message.Message cannot be > cast to [B exception > ------------------------------------------------------------------------------------------------ > > Key: KAFKA-933 > URL: https://issues.apache.org/jira/browse/KAFKA-933 > Project: Kafka > Issue Type: Bug > Components: contrib > Affects Versions: 0.8 > Environment: [amilkowski@localhost ~]$ uname -a > Linux localhost.localdomain 3.9.4-200.fc18.x86_64 #1 SMP Fri May 24 20:10:49 > UTC 2013 x86_64 x86_64 x86_64 GNU/Linux > [amilkowski@localhost ~]$ > Reporter: Andrew Milkowski > Priority: Minor > Labels: hadoop > Fix For: 0.8 > > > Working of git master codebase > and following instructions at > https://github.com/apache/kafka/blob/trunk/contrib/hadoop-consumer/README > https://github.com/apache/kafka > when running > ./run-class.sh kafka.etl.impl.DataGenerator test/test.properties > an exception is thrown > Exception in thread "main" java.lang.ClassCastException: > kafka.message.Message cannot be cast to [B > at kafka.serializer.DefaultEncoder.toBytes(Encoder.scala:34) > at > kafka.producer.async.DefaultEventHandler$$anonfun$serialize$1.apply(DefaultEventHandler.scala:129) > at > kafka.producer.async.DefaultEventHandler$$anonfun$serialize$1.apply(DefaultEventHandler.scala:124) > at > scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:233) > at > scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:233) > at scala.collection.Iterator$class.foreach(Iterator.scala:772) > at > scala.collection.JavaConversions$JIteratorWrapper.foreach(JavaConversions.scala:573) > at scala.collection.IterableLike$class.foreach(IterableLike.scala:73) > at > scala.collection.JavaConversions$JListWrapper.foreach(JavaConversions.scala:615) > at scala.collection.TraversableLike$class.map(TraversableLike.scala:233) > at > scala.collection.JavaConversions$JListWrapper.map(JavaConversions.scala:615) > at > kafka.producer.async.DefaultEventHandler.serialize(DefaultEventHandler.scala:124) > at > kafka.producer.async.DefaultEventHandler.handle(DefaultEventHandler.scala:54) > at kafka.producer.Producer.send(Producer.scala:74) > at kafka.javaapi.producer.Producer.send(Producer.scala:41) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira