Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Make runloop command queue unbounded (#986)
Runloop can get dead-locked when it is subscribed to a large amount of partitions. - The Runloop command queue is a bounded queue, with a fixed size of 1024. - The Runloop stream takes commands from the queue, process them and offer a new `Poll` command into the stream (when applicable). - The `.offer` can suspend the fiber when the command queue is already full. this, in turn, makes the entire stream freeze. the underlying kafka consumer will eventually (after `max.poll.interval.ms`) be dropped from the group without any notification to the zstream. - To fix this, we change the command queue from bounded to unbounded which will not suspend the fiber that adds the `Poll` command
- Loading branch information