You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@samza.apache.org by "Martin Kleppmann (JIRA)" <ji...@apache.org> on 2014/05/23 16:27:05 UTC
[jira] [Created] (SAMZA-269) SerdeManager should pass through
envelope objects if not modified
Martin Kleppmann created SAMZA-269:
--------------------------------------
Summary: SerdeManager should pass through envelope objects if not modified
Key: SAMZA-269
URL: https://issues.apache.org/jira/browse/SAMZA-269
Project: Samza
Issue Type: Bug
Reporter: Martin Kleppmann
Assignee: Martin Kleppmann
In some cases, it can be useful for a SystemConsumer to define a custom IncomingMessageEnvelope subclass (or conversely, for a SystemProducer to define a custom OutgoingMessageEnvelope subclass) in order to carry system-specific metadata.
Unfortunately, the current implementation of org.apache.samza.serializers.SerdeManager always unpacks the envelope and creates a new envelope object. This is necessary if a serde is being used (since the key and message need to be replaced with the serialized/deserialized version of the same), but unnecessary if there is no serde. If there is no serde, it would be better to pass through the envelope unmodified.
This would probably also have a performance benefit, since we only have to allocate one, not two, envelope objects per message.
--
This message was sent by Atlassian JIRA
(v6.2#6252)