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

Pavel Tupitsyn updated IGNITE-25361:
------------------------------------
    Description: 
*StreamerSubscriber* calls *subscription.request* under lock, which might cause 
unnecessary contention.

Additionally, we call request synchronously, which might cause stack overflow 
in certain scenarios:
{code}
at 
org.apache.ignite.internal.runner.app.ItStreamTest$1.request(ItStreamTest.java:154)
          - locked <0x985> (a java.lang.Class)
          at 
org.apache.ignite.internal.streamer.StreamerSubscriber.requestMore(StreamerSubscriber.java:375)
          - locked <0x45ae> (a 
org.apache.ignite.internal.streamer.StreamerSubscriber)
          at 
org.apache.ignite.internal.streamer.StreamerSubscriber.onNext(StreamerSubscriber.java:190)
          at 
org.apache.ignite.internal.runner.app.ItStreamTest$1.request(ItStreamTest.java:154)
          at 
org.apache.ignite.internal.streamer.StreamerSubscriber.requestMore(StreamerSubscriber.java:375)
          at 
org.apache.ignite.internal.streamer.StreamerSubscriber.onNext(StreamerSubscriber.java:190)
          at 
org.apache.ignite.internal.runner.app.ItStreamTest$1.request(ItStreamTest.java:154)
          at 
org.apache.ignite.internal.streamer.StreamerSubscriber.requestMore(StreamerSubscriber.java:375)
          at 
org.apache.ignite.internal.streamer.StreamerSubscriber.onNext(StreamerSubscriber.java:190)
          at 
org.apache.ignite.internal.runner.app.ItStreamTest$1.request(ItStreamTest.java:154)
...
{code}

  was:*StreamerSubscriber* calls *subscription.request* under lock, which might 
cause unnecessary contention.


> Data Streamer calls user code under lock
> ----------------------------------------
>
>                 Key: IGNITE-25361
>                 URL: https://issues.apache.org/jira/browse/IGNITE-25361
>             Project: Ignite
>          Issue Type: Bug
>          Components: data streamer ai3
>            Reporter: Pavel Tupitsyn
>            Assignee: Pavel Tupitsyn
>            Priority: Major
>              Labels: ignite-3
>
> *StreamerSubscriber* calls *subscription.request* under lock, which might 
> cause unnecessary contention.
> Additionally, we call request synchronously, which might cause stack overflow 
> in certain scenarios:
> {code}
> at 
> org.apache.ignite.internal.runner.app.ItStreamTest$1.request(ItStreamTest.java:154)
>         - locked <0x985> (a java.lang.Class)
>         at 
> org.apache.ignite.internal.streamer.StreamerSubscriber.requestMore(StreamerSubscriber.java:375)
>         - locked <0x45ae> (a 
> org.apache.ignite.internal.streamer.StreamerSubscriber)
>         at 
> org.apache.ignite.internal.streamer.StreamerSubscriber.onNext(StreamerSubscriber.java:190)
>         at 
> org.apache.ignite.internal.runner.app.ItStreamTest$1.request(ItStreamTest.java:154)
>         at 
> org.apache.ignite.internal.streamer.StreamerSubscriber.requestMore(StreamerSubscriber.java:375)
>         at 
> org.apache.ignite.internal.streamer.StreamerSubscriber.onNext(StreamerSubscriber.java:190)
>         at 
> org.apache.ignite.internal.runner.app.ItStreamTest$1.request(ItStreamTest.java:154)
>         at 
> org.apache.ignite.internal.streamer.StreamerSubscriber.requestMore(StreamerSubscriber.java:375)
>         at 
> org.apache.ignite.internal.streamer.StreamerSubscriber.onNext(StreamerSubscriber.java:190)
>         at 
> org.apache.ignite.internal.runner.app.ItStreamTest$1.request(ItStreamTest.java:154)
> ...
> {code}



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

Reply via email to