Search code examples
amazon-web-servicesamazon-sqs

What does 'Messages available' in the AWS SQS console mean?


What is 'Messages available' in the AWS SQS console?

I'm familiar with message queueing concepts, and 'messages in flight' seems obvious - that's the amount of unprocesed messages on the queue. But what does a message being 'available' mean? How can a message be available or not available? I've read the SQS docs and FAQ and can't find an answer.

enter image description here

Note I marked this as a possible dupe of Why do SqS messages sometimes remain in-flight on queue myself, but that question is focused on the definition of 'in flight' not 'available'.


Solution

  • Answering my own question to help others:

    As @luk2302's comment mentions (Luk feel free to add your own answer), my understanding on 'in flight' was incorrect. AWS doesn't use the term 'in flight' in their API docs however those docs do have some useful references:

    Messages Available seems to correspond to ApproximateNumberOfMessagesVisible in the API. This is

    The number of messages available for retrieval from the queue.

    Messages in flight is ApproximateNumberOfMessagesNotVisible

    Messages are considered to be in flight if they have been sent to a client but have not yet been deleted or have not yet reached the end of their visibility window.