Why our functional interfaces are serializable?

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Why our functional interfaces are serializable?

Vladimir Ozerov
Folks,

We have more than 1500 classes (mostly anonymous) implementing functional
interfaces. Most common are *IgnitePredicate*, *IgniteClosure*, etc..

Question: why these interfaces are Serializable? A lot of classes which
implement these interfaces are never meant to be serialized.

I propose to remove Serializable from all functional interfaces.

Vladimir.
Reply | Threaded
Open this post in threaded view
|

Re: Why our functional interfaces are serializable?

Sergi
Agree, but we use some of them on public API for distributed operations and
they have to be Serializable.

Sergi

2016-12-21 12:06 GMT+03:00 Vladimir Ozerov <[hidden email]>:

> Folks,
>
> We have more than 1500 classes (mostly anonymous) implementing functional
> interfaces. Most common are *IgnitePredicate*, *IgniteClosure*, etc..
>
> Question: why these interfaces are Serializable? A lot of classes which
> implement these interfaces are never meant to be serialized.
>
> I propose to remove Serializable from all functional interfaces.
>
> Vladimir.
>
Reply | Threaded
Open this post in threaded view
|

Re: Why our functional interfaces are serializable?

dsetrakyan
I would agree only for internal Ignite classes. If we touch public classes,
we risk breaking backward compatibility.

On Wed, Dec 21, 2016 at 1:21 AM, Sergi Vladykin <[hidden email]>
wrote:

> Agree, but we use some of them on public API for distributed operations and
> they have to be Serializable.
>
> Sergi
>
> 2016-12-21 12:06 GMT+03:00 Vladimir Ozerov <[hidden email]>:
>
> > Folks,
> >
> > We have more than 1500 classes (mostly anonymous) implementing functional
> > interfaces. Most common are *IgnitePredicate*, *IgniteClosure*, etc..
> >
> > Question: why these interfaces are Serializable? A lot of classes which
> > implement these interfaces are never meant to be serialized.
> >
> > I propose to remove Serializable from all functional interfaces.
> >
> > Vladimir.
> >
>