[
https://issues.apache.org/jira/browse/IGNITE-18510?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17677703#comment-17677703
]
Pavel Pereslegin commented on IGNITE-18510:
-------------------------------------------
[~jooger], thanks for the contribution!
Merged to the main branch.
> Sql. CompositePublisher is not thread safe
> ------------------------------------------
>
> Key: IGNITE-18510
> URL: https://issues.apache.org/jira/browse/IGNITE-18510
> Project: Ignite
> Issue Type: Bug
> Components: sql
> Reporter: Yury Gerzhedovich
> Assignee: Yury Gerzhedovich
> Priority: Major
> Labels: ignite-3
> Time Spent: 1.5h
> Remaining Estimate: 0h
>
> Currently our CompositePublisher is not threadsafe, but we have to deal with
> 3 types of potentially concurrent signals when arbitrating
> {*}Flow.Subscription{*}s:
> # A *request(long)* call from downstream that has to be routed to the
> current Flow.Subscription
> # A *cancel()* call from downstream that has to be routed to the current
> *Flow.Subscription* and cancel any future {*}Flow.Subscription{*}.
> # A *setSubscription(Flow.Subscription)* that is called by the current
> *Flow.Subscriber* after subscribing to any *Flow.Publisher* which is not
> guaranteed to happen on the same thread *subscribe()* is called
> Let's reimplement our CompositePublisher
--
This message was sent by Atlassian Jira
(v8.20.10#820010)