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

Ignite TC Bot commented on IGNITE-29227:
----------------------------------------

{panel:title=Branch: [pull/13769/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/13769/head] Base: [master] : New Tests 
(2)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#00008b}Continuous Query 4{color} [[tests 
2|https://ci2.ignite.apache.org/viewLog.html?buildId=9462093]]
* {color:#013220}IgniteCacheQuerySelfTestSuite6: 
continuous.CacheContinuousWithTransformerUnregisteredClassTest - PASSED{color}
* {color:#013220}IgniteCacheQuerySelfTestSuite6: 
CacheContinuousWithTransformerUnregisteredClassTest.testUnregisteredResultClassOnAtomicCache
 - PASSED{color}

{panel}
[TeamCity *--> Run :: All* 
Results|https://ci2.ignite.apache.org/viewLog.html?buildId=9462201&buildTypeId=IgniteTests24Java8_RunAll]
{color:#ffffff}tcbot-analysis-comment chainBuildId=9462201 
rerunBuildIds=none{color}

> ContinuousQueryWithTransformer on an ATOMIC cache holds a partition's events 
> if the transformer's result class is not registered on the primary node
> ----------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-29227
>                 URL: https://issues.apache.org/jira/browse/IGNITE-29227
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Reza Taroosheh
>            Assignee: Reza Taroosheh
>            Priority: Major
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> On an {{ATOMIC}} cache, a {{ContinuousQueryWithTransformer}} whose remote 
> transformer returns a user class that the key's primary node has not used yet 
> stops delivering that partition's events to a listener on another node. The 
> first such update is never delivered, and every later event of the same 
> partition is held back. Nothing is logged. On a {{TRANSACTIONAL}} cache all 
> events arrive.
> Steps:
> # Start two server nodes with a {{PARTITIONED}}, {{ATOMIC}} cache with 1 
> backup.
> # On node 0, register a {{ContinuousQueryWithTransformer}} whose remote 
> transformer returns an object of a user class (e.g., {{PersonId}}) not used 
> in the cluster before.
> # Put a key whose primary is node 1 three times.
> Actual: the listener receives nothing.
> Expected: three events.
> Registering the result class on the key's primary node before the first 
> update, with {{ignite.binary().toBinary(...)}} on node 1, avoids the problem. 
> Registering it on node 0 alone does not. A remote filter annotated with 
> {{@IgniteAsyncCallback}} that accepts all events also avoids the problem.
> According to the reporter, the held events are released only after 
> {{IGNITE_CONTINUOUS_QUERY_LISTENER_MAX_BUFFER_SIZE}} (10 000) events are 
> pending, and when several nodes register the same query, some listeners get 
> the first event twice.
> Reproduced on 2.17.0 and 2.18.0 (reported on the dev list: 
> https://lists.apache.org/thread/x08d7cx1lz08gp9f1k6ldkl1xpvfjz6l), and on 
> master by a new test.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to