You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@storm.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2014/05/23 17:55:01 UTC
[jira] [Commented] (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:comment-tabpanel&focusedCommentId=14007280#comment-14007280 ]
ASF GitHub Bot commented on STORM-332:
--------------------------------------
GitHub user dschiavu opened a pull request:
https://github.com/apache/incubator-storm/pull/125
Enable Kryo serialization in storm-kafka (STORM-332)
Add a no args constructor to storm-kafka's Broker and Partition classes to enable Kryo serialization when using the storm-kafka spout (STORM-332)
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/dschiavu/incubator-storm STORM-332-kafka-spout-kryo-compatibility
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/incubator-storm/pull/125.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #125
----
commit 52d2f2f9160f90a97de2d49a3827bd8c103fb14e
Author: Danijel Schiavuzzi <da...@infobip.com>
Date: 2014-05-23T15:52:56Z
Add a no args constructor to storm-kafka's Broker and Partition classes
to enable Kryo serialization when using the storm-kafka spout
(STORM-332)
----
> 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
>
> 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)