You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@storm.apache.org by Mahesh Aravind V <ma...@gmail.com> on 2025/01/27 10:06:33 UTC
Purpose of SerializableSerializer
Hey, I wanted to know why we have the SerializableSerializer when we
encounter an unregistered class and what advantage we get by using it over
the FieldsSerializer from kryo.
I did some very basic performance testing and the FieldsSerializer seems to
perform better than SerializableSerializer. I could not get context on why
the SerializableSerializer came to be from the git history. Would
appreciate any insights. TIA.
Regards,
Mahesh
Re: Purpose of SerializableSerializer
Posted by Derek Dagit <da...@apache.org>.
> > Hey, I wanted to know why we have the SerializableSerializer when we
> > encounter an unregistered class and what advantage we get by using it over
> > the FieldsSerializer from kryo.
I may not be recalling correctly, so take this with a grain of salt:
From my memory it was not there for performance reasons but for ease of
use.
The fields-based serializer is probably what one would prefer, but from
my vague memory, it has to be told how to serialize.
To get up-and-running quickly, there was a default serializer. Once you
know what you're doing, you certainly should use something more
performant.
Others please correct me if I am misremembering.
--
Derek
On Fri, Jan 31, 2025 at 10:27:18AM +0100, Richard Zowalla wrote:
> Hi,
>
> Actually, no idea because that particularly class dates back to 2012: https://github.com/apache/storm/commit/4debef138e90053e692f72a761e3a3b6692ebe90
> So 12+ years old ;-) - FieldSerializer in Kryo was introduced in 2012 too.
>
> If you look into the mail archive, there is only a link towards: https://issues.apache.org/jira/browse/STORM-333 which makes a guess regarding thread safety.
>
> If you go into the really legacy archive, you find a few interesting threads:
>
> - https://groups.google.com/g/storm-user/search?q=SerializableSerializer
>
> From a quick glimpse it seems it was done on purpose related to thread safety.
>
> Gruß
> Richard
>
>
>
>
> > Am 27.01.2025 um 11:06 schrieb Mahesh Aravind V <ma...@gmail.com>:
> >
> > Hey, I wanted to know why we have the SerializableSerializer when we
> > encounter an unregistered class and what advantage we get by using it over
> > the FieldsSerializer from kryo.
> > I did some very basic performance testing and the FieldsSerializer seems to
> > perform better than SerializableSerializer. I could not get context on why
> > the SerializableSerializer came to be from the git history. Would
> > appreciate any insights. TIA.
> >
> > Regards,
> > Mahesh
>
Re: Purpose of SerializableSerializer
Posted by Richard Zowalla <rz...@apache.org>.
Hi,
Actually, no idea because that particularly class dates back to 2012: https://github.com/apache/storm/commit/4debef138e90053e692f72a761e3a3b6692ebe90
So 12+ years old ;-) - FieldSerializer in Kryo was introduced in 2012 too.
If you look into the mail archive, there is only a link towards: https://issues.apache.org/jira/browse/STORM-333 which makes a guess regarding thread safety.
If you go into the really legacy archive, you find a few interesting threads:
- https://groups.google.com/g/storm-user/search?q=SerializableSerializer
From a quick glimpse it seems it was done on purpose related to thread safety.
Gruß
Richard
> Am 27.01.2025 um 11:06 schrieb Mahesh Aravind V <ma...@gmail.com>:
>
> Hey, I wanted to know why we have the SerializableSerializer when we
> encounter an unregistered class and what advantage we get by using it over
> the FieldsSerializer from kryo.
> I did some very basic performance testing and the FieldsSerializer seems to
> perform better than SerializableSerializer. I could not get context on why
> the SerializableSerializer came to be from the git history. Would
> appreciate any insights. TIA.
>
> Regards,
> Mahesh