JBarrioGarcía
JBarrioGarcía

Reputation: 184

AWS SQS: Which is the order of message in a FIFO queue after visibility-timeout expires?

In AWS SQS FIFO's Queues; when the visibility timeout of a readed message, in which possition of the queue will be the message?

For example:

Which will be the new order of messages?

Upvotes: 5

Views: 2849

Answers (2)

forrest
forrest

Reputation: 1

[A, B, C, D] is correct if and only if all the messages share the same message group ID. If they do not, visibility timeout expiration will send the message to the back of the queue. ([B, C, D, A]).

The only way to process multiple messages simultaneously from an SQS FIFO queue is to use multiple message group IDs, which unfortunately breaks oldest message first ordering.

Upvotes: -1

John Rotenstein
John Rotenstein

Reputation: 270089

The order remains the same: [A, B, C, D]

In fact, it is not possible to fetch another message from the queue with the same Message Group ID until message A has been processed. This ensures that the order is preserved.

Where certain messages are allowed to be processed in parallel, you can specify a different Message Group ID.

Upvotes: 9

Related Questions