You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Andrew Milkowski (JIRA)" <ji...@apache.org> on 2013/06/05 18:41:20 UTC
[jira] [Comment Edited] (KAFKA-933) Hadoop example running
DataGenerator causes kafka.message.Message cannot be cast to [B exception
[ https://issues.apache.org/jira/browse/KAFKA-933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13676093#comment-13676093 ]
Andrew Milkowski edited comment on KAFKA-933 at 6/5/13 4:41 PM:
----------------------------------------------------------------
workaround was to patch DataGenerator to send the message string, instead the Message object
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();
}
was (Author: andrewmilkowski):
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