We have provisioned a single AWS SQS FIFO queue. There is a single process that adds items to this queue. All items added have the same group message id.
We start two independent identical processes, Consumer A and Consumer B. The only thing the consumers do is pull items off the queue and throw away the results. Assume that there are no network or service interruptions on either the AWS end or at our end.
I have looked carefully through AWS's documentation and cannot find an answer to this question: When can two AWS SQS FIFO queue consumers process messages with the same group message id?
I did see this text:
When messages that belong to a particular message group ID are invisible, no other consumer can process messages with the same message group ID.
Does the above apply only when all messages with the same message group ID are invisible? Or is it enough for just some of the messages for a given group message id be invisible.
For example, imagine that when the above two consumers start there are already 10,000 messages on the queue all with the same group message id. Since a consumer can be sent a maximum of 10 messages at once, does this mean that while consumer A is processing 10 messages consumer B can't get any messages?
I am looking for a reference in the AWS documentation that clarifies this, or perhaps, someone has done an experiment that decides this one way or the other.