We have an SQS FIFO queue that has a large backlog of messages to get through. We introduced a few new message groups that are being sent to this queue to help introduce more parallelization into our consumption of these events. We have confirmed there are messages being sent with the new group IDs. Despite this, we are only seeing up to two (the original number of group IDs) messages in flight at a time. Does SQS need to work through some chunk of the existing 250k+ backlog of messages available before it will recognize and begin to send messages with the new group id?
Found it buried in an AWS doc:
A FIFO queue looks through the first 20k messages to determine available message groups. This means that if you have a backlog of messages in a single message group, you can't consume messages from other message groups that were sent to the queue at a later time until you successfully consume the messages from the backlog.