Factories in continuous queries

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

Factories in continuous queries

Valentin Kulichenko
Igniters,

It was brought to my attention that we always send the filter instance when
creating a continuous query. This is not correct if JCache entry listener
API is used, because it works with factories and assumes that filter is not
even Serializable, but we require it.

I think this can be fixed, but my concern is backward
compatibility. CacheContinuousQueryHandler is Externalizable which makes it
tricky. Does anyone has suggestions?

Ticket is created: https://issues.apache.org/jira/browse/IGNITE-1186

-Val
Reply | Threaded
Open this post in threaded view
|

Re: Factories in continuous queries

yzhdanov
+1

Deprecate current setter and add new method accepting factory as parameter.
Old method can wrap the filter in, let's say, SingletonFactory.

--Yakov

2015-07-31 22:29 GMT+03:00 Valentin Kulichenko <
[hidden email]>:

> Igniters,
>
> It was brought to my attention that we always send the filter instance when
> creating a continuous query. This is not correct if JCache entry listener
> API is used, because it works with factories and assumes that filter is not
> even Serializable, but we require it.
>
> I think this can be fixed, but my concern is backward
> compatibility. CacheContinuousQueryHandler is Externalizable which makes it
> tricky. Does anyone has suggestions?
>
> Ticket is created: https://issues.apache.org/jira/browse/IGNITE-1186
>
> -Val
>
Reply | Threaded
Open this post in threaded view
|

Re: Factories in continuous queries

dsetrakyan
On Mon, Aug 3, 2015 at 7:47 AM, Yakov Zhdanov <[hidden email]> wrote:

> +1
>
> Deprecate current setter and add new method accepting factory as parameter.
> Old method can wrap the filter in, let's say, SingletonFactory.
>

To be honest, I believe that we should just deprecate our ContinuousQuery
API and add CacheEntryListenerConfiguration API from JCache, which is based
on factories. This will also ensure that all the notifications are provided
by a listener instead of some initial query, as users have been asking.

I have updated the IGNITE-1186 ticket.


>
> --Yakov
>
> 2015-07-31 22:29 GMT+03:00 Valentin Kulichenko <
> [hidden email]>:
>
> > Igniters,
> >
> > It was brought to my attention that we always send the filter instance
> when
> > creating a continuous query. This is not correct if JCache entry listener
> > API is used, because it works with factories and assumes that filter is
> not
> > even Serializable, but we require it.
> >
> > I think this can be fixed, but my concern is backward
> > compatibility. CacheContinuousQueryHandler is Externalizable which makes
> it
> > tricky. Does anyone has suggestions?
> >
> > Ticket is created: https://issues.apache.org/jira/browse/IGNITE-1186
> >
> > -Val
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: Factories in continuous queries

Valentin Kulichenko
I agree. We can extend CacheEntryListenerConfiguration to properly support
initial iteration and reuse everything else.

-Val

On Mon, Aug 3, 2015 at 4:40 PM, Dmitriy Setrakyan <[hidden email]>
wrote:

> On Mon, Aug 3, 2015 at 7:47 AM, Yakov Zhdanov <[hidden email]> wrote:
>
> > +1
> >
> > Deprecate current setter and add new method accepting factory as
> parameter.
> > Old method can wrap the filter in, let's say, SingletonFactory.
> >
>
> To be honest, I believe that we should just deprecate our ContinuousQuery
> API and add CacheEntryListenerConfiguration API from JCache, which is based
> on factories. This will also ensure that all the notifications are provided
> by a listener instead of some initial query, as users have been asking.
>
> I have updated the IGNITE-1186 ticket.
>
>
> >
> > --Yakov
> >
> > 2015-07-31 22:29 GMT+03:00 Valentin Kulichenko <
> > [hidden email]>:
> >
> > > Igniters,
> > >
> > > It was brought to my attention that we always send the filter instance
> > when
> > > creating a continuous query. This is not correct if JCache entry
> listener
> > > API is used, because it works with factories and assumes that filter is
> > not
> > > even Serializable, but we require it.
> > >
> > > I think this can be fixed, but my concern is backward
> > > compatibility. CacheContinuousQueryHandler is Externalizable which
> makes
> > it
> > > tricky. Does anyone has suggestions?
> > >
> > > Ticket is created: https://issues.apache.org/jira/browse/IGNITE-1186
> > >
> > > -Val
> > >
> >
>