[ 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)