[ 
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

Reply via email to