[ 
https://issues.apache.org/jira/browse/IGNITE-1186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15168844#comment-15168844
 ] 

Semen Boikov commented on IGNITE-1186:
--------------------------------------

Reviewed, have some comments:
- let's deprecate ContinuousQuery#setRemoteFilter method
- after changes check for CacheEntryEventSerializableFilter inside 
CacheContinuousQueryManager.executeQuery0 is incorrect, let's add three 
'executeQuery0' methods for each case: create query with filter, factory or 
using by JCache API
- add following tests: P2P, synchronous queries, use JCache API, check that 
filter isn't marshalled.

> Filter is sent instead of factory when continuous query is created
> ------------------------------------------------------------------
>
>                 Key: IGNITE-1186
>                 URL: https://issues.apache.org/jira/browse/IGNITE-1186
>             Project: Ignite
>          Issue Type: Sub-task
>          Components: cache
>    Affects Versions: 1.1.4
>            Reporter: Valentin Kulichenko
>            Assignee: Nikolay Tikhonov
>            Priority: Critical
>              Labels: important
>             Fix For: 1.6
>
>
> {{CacheContinuousQueryHandler}}, which is sent to remote nodes on query 
> creation always contains {{CacheEntryEventSerializableFilter}}. This is OK 
> for our {{ContinuousQuery}} API, because it doesn't work with factories, but 
> not OK for JCache entry listener API. {{CacheEntryListenerConfiguration}} 
> contains factory and it's assumed that the filter is created on remote node 
> and is never sent through network. But we require the filter to be 
> {{Serializable}}.
> We need to always send factory instead of the filter. In case of 
> {{ContinuousQuery}} API we can use singleton factory that will wrap the 
> instance that already exist.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to