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
Currently, the Flowable.groupBy queues up groups until the downstream requests more groups. Unfortunately, this can lead to hangs because if there are more groups than requested, active groups may starve out as they don't trigger replenishments or those replenishments result in more groups to be created. Example:
akarnokd
changed the title
3.x: Change the behavior Flowable.groupBy to signal MBE if no main requests
3.x: Change the behavior of Flowable.groupBy to signal MBE if no main requests
Aug 29, 2019
This is a tough one. Many tests break because of the non-consumed groups or hang because of request management issues. I'll have to rework the tests and come up with the correct request management logic.
Currently, the
Flowable.groupBy
queues up groups until the downstream requests more groups. Unfortunately, this can lead to hangs because if there are more groups than requested, active groups may starve out as they don't trigger replenishments or those replenishments result in more groups to be created. Example:This case works if
flatMap
's concurrency level is greater or equal to the expected group count.I propose changing the
Flowable.groupBy
operator to signalMissingBackpressureException
if the direct downstream is not ready to receive more groups.The text was updated successfully, but these errors were encountered: