[ 
https://issues.apache.org/jira/browse/STORM-332?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rick Kellogg updated STORM-332:
-------------------------------
    Component/s: storm-core

> Add support for Kryo serialization in the Kafka spout classes
> -------------------------------------------------------------
>
>                 Key: STORM-332
>                 URL: https://issues.apache.org/jira/browse/STORM-332
>             Project: Apache Storm
>          Issue Type: Improvement
>          Components: storm-core
>            Reporter: Danijel Schiavuzzi
>            Assignee: Danijel Schiavuzzi
>             Fix For: 0.9.3
>
>
> The classes {{storm.kafka.Broker}} and {{storm.kafka.Partition}} from the new 
> kafka-spout module can't be serialized by Kryo (using the default 
> FieldsSerializer):
> {noformat}
>  java.lang.RuntimeException: com.esotericsoftware.kryo.KryoException: Class 
> cannot be created (missing no-arg constructor): storm.kafka.Broker
> Serialization trace:
> partitionMap (storm.kafka.trident.GlobalPartitionInformation)
> {noformat}
> A workaround to enabling Kryo compatibility is to add a private, no argument 
> constructor to both classes (as done in 
> backtype.storm.transactional.TransactionAttempt or 
> backtype.storm.tuple.Values, for example).
> This enables us to use the Kafka spout with Kryo, instead of Storm 
> fallbacking to Java serialization.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to