You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@storm.apache.org by "Robert Joseph Evans (JIRA)" <ji...@apache.org> on 2014/06/30 21:33:24 UTC
[jira] [Resolved] (STORM-332) Add support for Kryo serialization in
the Kafka spout classes
[ https://issues.apache.org/jira/browse/STORM-332?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Robert Joseph Evans resolved STORM-332.
---------------------------------------
Resolution: Fixed
Fix Version/s: 0.9.3-incubating
Assignee: Danijel Schiavuzzi
Thanks Danijel for the patch. I merged it into master.
> 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 (Incubating)
> Issue Type: Improvement
> Reporter: Danijel Schiavuzzi
> Assignee: Danijel Schiavuzzi
> Fix For: 0.9.3-incubating
>
>
> 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.2#6252)