[ 
https://issues.apache.org/jira/browse/IGNITE-23536?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksandr Polovtsev updated IGNITE-23536:
-----------------------------------------
    Reviewer: Alexander Lapin

> PartitionScanPublisher can reorder requests
> -------------------------------------------
>
>                 Key: IGNITE-23536
>                 URL: https://issues.apache.org/jira/browse/IGNITE-23536
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Aleksandr Polovtsev
>            Assignee: Aleksandr Polovtsev
>            Priority: Major
>              Labels: ignite-3
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> {{PartitionScanPublisher}} has several problems:
> # Since every {{Subscription#request}} and {{Subscription#cancel}} requests 
> are remote requests, there's no guarantee that the order of execution on the 
> remote node will be the same. This can lead to peculiar situations like a 
> Cursor being cancelled before it is registered (if "cancel" arrives faster 
> than "request"), or a Cursor being closed while still being iterated (if 
> "cancel" and "request" are executed simultaneously).
> # It is expected that all {{Subscriber}} callbacks are going to be strictly 
> ordered. This is not true, because multiple {{request}} calls can get 
> executed on different threads without HB relation.
> # Some minute Flow contract details are not obeyed: {{onComplete}} and 
> {{onError}} can be called even if the subscription was cancelled. 
> {{onComplete}} can also be called after {{onError}}.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to