I have observed that when I rollback the acknowledgement of a message, causing redelivery to occur, a block of messages can get delayed for redelivery along with it, even though they might have succeeded where the bad one had failed.
I noticed that my consumer-window-size was > 0, meaning that my consumer was pre-fetching a non-zero amount of data when reading from the destination. I set this to 0, and then I saw different behavior - failed messages were scheduled for redelivery on their own, allowing the messages behind them to be processed.
I just wanted to confirm that this is expected behavior, as opposed to a bug.
Thanks!
Josh