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 →
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.