A queue producer sends messages to an SQS queue. Issues with producers are found by detecting anomalies in the number of messages sent to an SQS Queue.


EFFECTS


Issues with queue producers can result in:

  • Delayed processing of data
  • Failure to run jobs triggered by messages in the queue

Likely causes:

  • The producer is no longer running
  • The producer does not have access to the queue
  • The producer is erroneously sending too many messages
  • SQS is having an outage

 

QUICK FIX


If less messages were sent than expected, make sure the producer is running, is configured to send to the correct queue, and has the SendMessage permission on that queue.

If more messages were sent than expected, check the producer logs to see why it's sending so many messages.

 

THOROUGH FIX


If messages are sent to this queue from code, check the application logs to see if there are errors. Also, check your revision history for changes to how messages are sent to SQS, and generally make sure your systems are running correctly.

If the messages are produced by S3 Event Notifications, make sure your bucket and queue are configured with the correct permissions and that your object key prefix/suffix settings are correct.

If the source of messages is an SNS topic, again make sure that everything is configured correctly. Send a test message to the topic and see if the message shows up in the SQS Console to test permissions.

If this queue is a dead letter queue for one of your other queues, you can likely safely ignore this anomaly. You may want to investigate why the dead letter queue was receiving enough messages for our system to think it should continue to receive them.

Lastly, make sure to check the AWS Status Page to see if SQS is having increased error rates.


RESOURCES


 Note: Our system uses SQS metrics in Amazon CloudWatch to detect possible issues with producers for your queue. Due to the API limitations of CloudWatch, there can be a delay of as many as 20 minutes before our system can detect these issues.