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