mediummultiple choiceObjective-mapped

A developer is building a serverless application that uses an Amazon SQS FIFO queue to process orders. The orders must be processed exactly once and in the order they are received. The developer uses an AWS Lambda function as the consumer. Despite using a FIFO queue, the developer notices that some orders are being processed more than once. What is the most likely cause of this behavior?

Question 1mediummultiple choice
Full question →

A developer is building a serverless application that uses an Amazon SQS FIFO queue to process orders. The orders must be processed exactly once and in the order they are received. The developer uses an AWS Lambda function as the consumer. Despite using a FIFO queue, the developer notices that some orders are being processed more than once. What is the most likely cause of this behavior?

Answer choices

Why each option matters

Good practice is not just finding the correct option. The wrong answers often show the exact trap the exam wants you to fall into.

A

Best answer

The Lambda function is not deleting messages from the queue after successful processing, so they become visible again after the visibility timeout.

If the function does not delete the message from the queue, the message reappears after the visibility timeout expires, causing duplicate processing. FIFO queues do not automatically remove messages; the consumer must explicitly delete them.

B

Distractor review

The Lambda function is configured with a batch size greater than 1, causing multiple messages to be processed at once and some to be duplicated.

Batch processing is supported but does not cause duplicates. All messages in a batch must be deleted individually. If one message fails, the entire batch is not deleted, but duplicates are not inherent.

C

Distractor review

The SQS queue has a message retention period set too low, causing messages to be deleted automatically and re-queued.

Message retention period only controls how long a message stays in the queue before being deleted permanently. It does not cause duplicates.

D

Distractor review

The Lambda function's execution role does not have permission to delete messages from the queue.

If the role lacks delete permission, the function will fail but will not cause duplicates; the message would become visible again after visibility timeout. However, this is less likely than the function simply not calling DeleteMessage for other reasons.

Common exam trap

Common exam trap: answer the scenario, not the keyword

Many certification questions include familiar terms but test a specific constraint. Read the exact wording before choosing an answer that is generally true but wrong for this case.

Technical deep dive

How to think about this question

This question should be treated as a scenario, not a definition check. Identify the problem, the constraint and the best action. Then compare each option against those facts.

KKey Concepts to Remember

  • Read the scenario before looking for a memorised answer.
  • Find the constraint that changes the correct option.
  • Eliminate answers that are true in general but not in this case.
  • Use explanations to understand the rule behind the answer.

TExam Day Tips

  • Underline the problem statement mentally.
  • Watch for words such as best, first, most likely and least administrative effort.
  • Review why wrong options are wrong, not only why the correct option is correct.

Related practice questions

Related DVA-C02 practice-question pages

Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.

More questions from this exam

Keep practising from the same exam bank, or move into a focused topic page if this question exposed a weak area.

Question 1

A developer is building a REST API using Amazon API Gateway that will serve static content from an Amazon S3 bucket. The API should cache responses for frequently accessed objects to reduce latency. Which API Gateway feature should the developer enable?

Question 2

A developer is running a web application on multiple Amazon EC2 instances behind an Application Load Balancer (ALB). The application needs to store user session state that must be available across all instances. The session data is small and temporary but must survive individual instance failures. Which AWS service should the developer use to store this session state?

Question 3

A developer has an AWS Lambda function that processes messages from an Amazon SQS standard queue. The function is idempotent and currently has a batch size of 10. The developer wants to increase throughput and increases the batch size to 100. After the change, CloudWatch metrics show a significant increase in throttles and the queue backlog is growing. The function's reserved concurrency is set to 10. What is the most effective action to resolve the throttling and improve throughput?

Question 4

A developer is managing an application running on Amazon EC2 instances behind an Application Load Balancer. Users report that the application becomes unresponsive after several hours, and restarting the instance temporarily fixes the issue. The developer suspects a memory leak but cannot add custom instrumentation. Which AWS service can collect memory utilization metrics and help identify the memory leak with minimal configuration?

Question 5

A developer is building a serverless web application using AWS Lambda and Amazon DynamoDB. The application needs to perform complex aggregations on data stored in DynamoDB. Which AWS service should the developer use to perform these aggregations efficiently without reading all the data into Lambda?

Question 6

A developer has an Amazon S3 bucket containing private user documents. The application must generate a time-limited URL for users to download their own documents without requiring the users to have AWS credentials. Which solution should the developer use?

FAQ

Questions learners often ask

What does this DVA-C02 question test?

Read the scenario before looking for a memorised answer.

What is the correct answer to this question?

The correct answer is: The Lambda function is not deleting messages from the queue after successful processing, so they become visible again after the visibility timeout. — FIFO queues guarantee exactly-once processing only when the consumer uses the correct message deduplication ID and visibility timeout settings. If the Lambda function fails to delete the message after processing (e.g., due to a timeout or error), the message becomes visible again after the visibility timeout expires, leading to duplicate processing. Additionally, if the Lambda function's retention period or DLQ is misconfigured, it may cause re-processing. The most common cause is that the visibility timeout is set too short relative to the function's execution time, or the function is not deleting the message successfully. However, the question asks about the most likely cause given that it's a FIFO queue. FIFO queues do not guarantee exactly-once delivery; they ensure that a message is delivered at least once, but the consumer must handle idempotency. The developer should implement idempotent processing using, for example, a DynamoDB table to track processed message IDs.

What should I do if I get this DVA-C02 question wrong?

Then try more questions from the same exam bank and focus on understanding why the wrong options are tempting.

Discussion

Loading comments…

Sign in to join the discussion.