geode-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dan Smith <dsm...@pivotal.io>
Subject Re: [DISCUSS] FunctionAdapter incompatible serialVersionUID
Date Wed, 29 Nov 2017 01:09:49 GMT
I agree I don't think we can get rid of FunctionAdapter until the next
major version.

I was thinking FunctionAdapter is rather widely used, but then I'm
surprised no one has hit this yet.

All of the options kinda suck here - either pre 1.0 users have a
compatibility issue or 1.0-1.3 users do. With your proposoal 1.0 - 1.3
users would have modify their source code on the client and the server for
the function, correct?

If we got really fancy we could actually ignore the serialVersionUUID for
this class like this - https://stackoverflow.com/a/1816711/2813144. But
it's pretty messy.

-Dan

On Tue, Nov 28, 2017 at 1:59 PM, Alexander Murmann <amurmann@pivotal.io>
wrote:

> Anil, I am not sure following. I think FunctionAdapter already is
> deprecated. Isn't it? Anthony is right though that we shouldn't remove
> anything customer facing unless we are doing a major release. Otherwise we
> are violating the contract provided by semantic versioning.
>
> On Tue, Nov 28, 2017 at 1:52 PM, Anilkumar Gingade <agingade@pivotal.io>
> wrote:
>
> > I haven't seen many uses of FunctionAdapter; if its not used much, I
> think
> > we should deprecate this...
> >
> > It only provided default implementation for few of the methods; this
> could
> > be added in the docs/release notes to help application to move to
> function
> > implementation.
> >
> > -Anil.
> >
> >
> > On Tue, Nov 28, 2017 at 12:40 PM, Anthony Baker <abaker@pivotal.io>
> wrote:
> >
> > > I think we should wait for a major release to remove API’s.  If we
> broke
> > a
> > > public API, we should fix that IMO.
> > >
> > > Anthony
> > >
> > >
> > > > On Nov 28, 2017, at 11:40 AM, Patrick Rhomberg <prhomberg@pivotal.io
> >
> > > wrote:
> > > >
> > > > +1 to removing a long-deprecated class from the Geode side.
> > > >
> > > > On Tue, Nov 28, 2017 at 8:04 AM, Bruce Schuchardt <
> > > bschuchardt@pivotal.io>
> > > > wrote:
> > > >
> > > >> How about just getting rid of this class?  After all it was marked
> as
> > > >> being deprecated in 1.0.  Pivotal could add a compatible
> > FunctionAdapter
> > > >> class in their GemFire builds to support these old clients.
> > > >>
> > > >>
> > > >>
> > > >> On 11/27/17 10:18 AM, Jason Huynh wrote:
> > > >>
> > > >>> This is a discussion for the fix to GEODE-4008:
> > > >>> InvalidClassException when deserializing FunctionAdapter from
pre
> > Geode
> > > >>> clients
> > > >>>
> > > >>> There was a change to deprecate FunctionAdapter in Geode (before
> > 1.0),
> > > and
> > > >>> this also removed the method signatures in the class. This caused
> > Java
> > > to
> > > >>> generate a new serialVersionUID to the class because one was not
> > > assigned
> > > >>> previously. However we have clients pre Geode that when they
> attempt
> > to
> > > >>> execute a function by serializing the function across (not using
a
> > > >>> function
> > > >>> id), the FunctionAdapter class is unable to deserialize properly.
> > > >>>
> > > >>> The proposed fix is to assign a serialVersionUID to the class
that
> > > matches
> > > >>> that of the pre Geode FunctionAdapter. This will cause any Geode
> > > 1.0-1.3
> > > >>> clients to now run into the error but the older clients would
work
> > > fine.
> > > >>> Because FunctionAdapter has been deprecated it should be easy
> enough
> > > for
> > > >>> Geode 1.0-1.3 users to change their custom classes to implement
> > > Function
> > > >>> directly and not use the deprecated FunctionAdapter class.
> > > >>>
> > > >>> Please let me know if there is a better solution or if there are
> > > problems
> > > >>> with the proposed fix.
> > > >>>
> > > >>>
> > > >>> Thanks,
> > > >>>
> > > >>> -Jason
> > > >>>
> > > >>>
> > > >>
> > >
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message