You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Yury Gerzhedovich (Jira)" <ji...@apache.org> on 2023/01/09 09:17:00 UTC

[jira] [Created] (IGNITE-18510) Sql. CompositePublisher is not thread safe

Yury Gerzhedovich created IGNITE-18510:
------------------------------------------

             Summary: 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


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)