Courseiva
SDLC Automation →hardMultiple Choice

DOP-C02 SDLC Automation Practice Question

A team uses AWS CodePipeline with a source action from an Amazon S3 bucket. The pipeline triggers on changes to the S3 bucket, but sometimes runs twice for a single commit. What is the most likely cause?

⚠ Common exam trap

Candidates often assume S3 event notifications are exactly-once, leading them to incorrectly suspect versioning or a missing deduplication setting, rather than recognizing S3's inherent at-least-once delivery behavior.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

✓

S3 event notifications for the same object may be delivered more than once.

Amazon S3 event notifications are designed for at-least-once delivery, meaning the same event (e.g., an object PUT) can be delivered multiple times. When CodePipeline uses S3 as a source, it relies on these notifications to trigger the pipeline. If S3 sends duplicate notifications for the same object version, CodePipeline will start a new execution for each notification, causing the pipeline to run twice for a single commit.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✗

    CodePipeline has a deduplication setting that is disabled.

    Why it's wrong here

    CodePipeline does not expose any 'deduplication' setting for source actions; executions are created for every distinct source revision event that arrives, and identical or duplicate events can lead to duplicate pipeline executions. There is no built-in throttle that suppresses a second invocation of the same commit or object version. Therefore, the absence of a deduplication toggle cannot explain the duplicate run.

  • ✓

    S3 event notifications for the same object may be delivered more than once.

    Why this is correct

    Amazon S3 event notifications are designed with at-least-once delivery semantics, meaning the same s3:ObjectCreated:Put event can be delivered more than once, especially during retries or internal service-side replication. Each delivered notification is seen by CodePipeline as a new source change, so a single object upload can start duplicate pipeline executions. Versioning is irrelevant to this behavior because the duplicate is a delivery-level retry, not a new object version.

  • ✗

    The S3 bucket has versioning enabled.

    Why it's wrong here

    Enabling S3 versioning creates a new object version for each write, but S3 still emits exactly one event per write (per delivery attempt) and CodePipeline is designed to act on the latest version. Versioning can affect which version is fetched, but it does not cause the same event to be delivered multiple times. The duplicate issue observed here is a notification delivery property, not a consequence of versioning.

  • ✗

    The pipeline is also triggered by a CloudWatch Events rule.

    Why it's wrong here

    A CloudWatch Events rule is not a source of duplicate S3 event notifications; it would be an independent trigger path from S3 to CodePipeline. If both an S3 event notification and a separate EventBridge rule exist for the same bucket, two executions could start for one object creation, but this is a configuration overlap rather than a delivery duplication. The most likely culprit remains S3's at-least-once notification semantics, making this option incorrect as the primary explanation.

Quick reference

AWS S3 Storage Class Comparison

Storage ClassMin DurationRetrievalUse Case
S3 StandardNoneImmediateFrequently accessed data
S3 Standard-IA30 daysImmediateInfrequent access, rapid retrieval
S3 One Zone-IA30 daysImmediateNon-critical infrequent data
S3 Intelligent-TieringNoneImmediate–hoursUnknown or changing access patterns
S3 Glacier Instant90 daysMillisecondsArchive with instant retrieval
S3 Glacier Flexible90 daysMinutes–hoursArchive, flexible retrieval
S3 Glacier Deep Archive180 daysHoursLong-term compliance archive

About these practice questions

This DOP-C02 question is part of Courseiva's 1,298-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This DOP-C02 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the DOP-C02 exam.