As per the documentation of Amazon aws docs it says
For FIFO queues, there can be a maximum of 20,000 inflight messages (received from a queue by a consumer, but not yet deleted from the queue). If you reach this quota, Amazon SQS returns no error messages. If your queue has a large backlog of 20,000 or more messages with the same message group ID, FIFO queues might be unable to return the messages that have a different message group ID but were sent to the queue at a later time until you successfully consume the messages from the backlog.
The thing I am not able to understand here is that if fifo queue does not send next batch of n messages(maximum 10) if previous batch is in progress across any parallel consumers with the same group id. Then how can there be at max 20K messages in flight mode with the same group id. According to what I understand there can be at max 10 messages in flight mode for the same group id. If that batch of messages is somehow not processed(not acknowledged) then fifo queue will redeliver those after visibility timeout ends ending with same number of messages in flight mode.
Can someone help me clarify this?