Courseiva
Data Engineering →mediumMultiple Choice

ARA-C01 Data Engineering Practice Question

Exhibit

CREATE TASK T2
  WAREHOUSE = 'ETL_WH'
  AFTER T1
  WHEN SYSTEM$STREAM_HAS_DATA('S1')
AS
  INSERT INTO TARGET SELECT * FROM S1;

Refer to the exhibit. Task T2 is a child task of T1. If T1 completes successfully but the stream 'S1' is empty, what will be the status and behavior of Task T2?

⚠ Common exam trap

Candidates often think an empty stream causes the task execution to fail or enter an error state, rather than recognizing the intentional 'SKIPPED' behavior which incurs zero costs.

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

✓

T2 will enter a 'SKIPPED' state and will not consume any warehouse credits.

In a Snowflake Task DAG, the WHEN clause is evaluated after the predecessor task finishes. If the condition in the WHEN clause is false, the task is skipped. This skip behavior is considered a successful state in the context of the DAG's flow, and it prevents the consumption of warehouse credits for an empty operation.

Answer analysis

Option-by-option breakdown

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

  • ✗

    T2 will fail with an error indicating that the stream contains no records for processing.

    Why it's wrong here

    A task does not fail simply because a stream is empty; the WHEN clause is specifically designed to handle this scenario gracefully. Failure only occurs if the SQL command within the task encounters an error during execution, whereas the WHEN clause prevents the execution from even starting.

  • ✓

    T2 will enter a 'SKIPPED' state and will not consume any warehouse credits.

    Why this is correct

    When the condition in the WHEN clause (SYSTEM$STREAM_HAS_DATA) evaluates to false, Snowflake skips the task execution. This is the intended behavior for efficient pipeline design, ensuring that the warehouse is not started and no credits are billed for tasks that have no work to perform.

  • ✗

    T2 will run and perform a full table scan of the stream, resulting in zero rows inserted.

    Why it's wrong here

    The purpose of the WHEN clause is to prevent the task from running entirely. If the clause evaluates to false, the task logic is not executed. This avoids the overhead of starting a warehouse and executing a query that would return no results, optimizing resource usage.

  • ✗

    T2 will wait until S1 has data before executing, potentially delaying the rest of the DAG.

    Why it's wrong here

    Tasks do not 'wait' for data; they evaluate the condition at the scheduled time or upon completion of a predecessor. If the condition is false at that specific moment, the task is skipped immediately, allowing the DAG to move forward to any subsequent child tasks if applicable.

About these practice questions

Courseiva writes every ARA-C01 question from scratch — 209 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written and reviewed by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

Last reviewed September 2026 · checked against the official Snowflake exam blueprint

This ARA-C01 practice question is part of Courseiva's free Snowflake 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 ARA-C01 exam.