Problem + possible solution - Consumers are not running in concurrency level higher than 1

62 views
Skip to first unread message

Tomer Yoskovich

unread,
Jun 14, 2016, 8:10:47 AM6/14/16
to masstransit-discuss
Hi Chris,

In the latest version I am experiencing the following problem: my worker process has prefetch set to 10, and UseConcurrencyLimit(10), but still only one thread runs in parallel

I have done rollbacks of MassTransit.RabbitMQ (and MassTransit respectively) and found that:
version 3.2.1 and earlier : works
version 3.2.2 and higher : single execution

version of RabbitMQ.Client: 3.6.1 (but same results with 3.6.2)

I then tracked this change in github history: "Removed yield, which seems unneccesary to retain throughput goals" on Mar 6

in which you have removed "await Task.Yield();" from  src/MassTransit.RabbitMqTransport/Pipeline/RabbitMqBasicConsumer.cs


Can this change be reverted?

Thanks

Chris Patterson

unread,
Jun 14, 2016, 9:10:06 AM6/14/16
to masstrans...@googlegroups.com
It will be, but will need to be actually reverted in a way that doesn't break message ordering for single threaded messages. Which means I need to find a way to ensure that consumers are dispatched asynchronously. 

__
Chris Patterson




--
You received this message because you are subscribed to the Google Groups "masstransit-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to masstransit-dis...@googlegroups.com.
To post to this group, send email to masstrans...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/masstransit-discuss/1ca35e6c-d089-4948-97ad-bfd9dc3e8184%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Tomer Yoskovich

unread,
Jul 13, 2016, 10:23:05 AM7/13/16
to masstransit-discuss
Hi Chris,

Any updates on this?

Thanks!


On Tuesday, June 14, 2016 at 4:10:06 PM UTC+3, Chris Patterson wrote:
It will be, but will need to be actually reverted in a way that doesn't break message ordering for single threaded messages. Which means I need to find a way to ensure that consumers are dispatched asynchronously. 

__
Chris Patterson




On Tue, Jun 14, 2016 at 5:10 AM -0700, "Tomer Yoskovich" <to...@yoskovich.com> wrote:

Hi Chris,

In the latest version I am experiencing the following problem: my worker process has prefetch set to 10, and UseConcurrencyLimit(10), but still only one thread runs in parallel

I have done rollbacks of MassTransit.RabbitMQ (and MassTransit respectively) and found that:
version 3.2.1 and earlier : works
version 3.2.2 and higher : single execution

version of RabbitMQ.Client: 3.6.1 (but same results with 3.6.2)

I then tracked this change in github history: "Removed yield, which seems unneccesary to retain throughput goals" on Mar 6

in which you have removed "await Task.Yield();" from  src/MassTransit.RabbitMqTransport/Pipeline/RabbitMqBasicConsumer.cs


Can this change be reverted?

Thanks

--
You received this message because you are subscribed to the Google Groups "masstransit-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to masstransit-discuss+unsub...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages