You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As in title creation of consumers in current version of the library is thread-pool unsafe, meaning working threads might get all stuck in IO when attempting to open multiple consumers in parallel, for example, consider how auto-ack consumer is created (this is were I observed the issue):
Both basicQos, basicConsume and basicCancel will all block on IO, so if multiple streams are created it might lead to unexpected and dangerous behavior.
Fix
It should be relatively easy to fix this issue, for example in the mentioned snippet we should probably run the consumer creation code using blocker (or each IO call invocation should be using blocker, it might be less performant with more context-switching but probably cleaner so it is a trade-off):
Issue
As in title creation of consumers in current version of the library is
thread-pool
unsafe, meaning working threads might get all stuck in IO when attempting to open multiple consumers in parallel, for example, consider how auto-ack consumer is created (this is were I observed the issue):Both
basicQos
,basicConsume
andbasicCancel
will all block on IO, so if multiple streams are created it might lead to unexpected and dangerous behavior.Fix
It should be relatively easy to fix this issue, for example in the mentioned snippet we should probably run the consumer creation code using blocker (or each IO call invocation should be using blocker, it might be less performant with more context-switching but probably cleaner so it is a trade-off):
I need this issue fixed so I will be creating PR with required changes, reviewing them from your part would be most welcomed.
The text was updated successfully, but these errors were encountered: