Skip to content

DP-700 · Domain 3: Monitor and optimize an analytics solution · 34% of the exam

Task 3.2: Identify and resolve errors

Errors in pipelines, Dataflow Gen2, notebooks, eventhouses, eventstreams, T-SQL and OneLake shortcuts, and how to resolve them.

Study it

  • Pipeline errors, retries and failure paths

    Partly covered by: Design a Job Scheduler

  • Dataflow Gen2, notebook and T-SQL errors

    Lesson coming

  • Eventhouse, Eventstream and OneLake shortcut errors

    Lesson coming

Sample questions

Try each one before opening the answer. Every option is explained, with the Microsoft documentation page that proves it.

Question 1 · choose 1

A pipeline's Lookup activity reads a 60-column configuration table and passes its output to a ForEach. After the table grew, the Lookup fails with error 2001: the length of execution output is over the limit of around 4 MB. The ForEach needs only three of the columns. What should you change?

  1. ARaise the Lookup activity's timeout
  2. BTurn on retries with an increasing delay for the Lookup
  3. CSwitch the ForEach to Sequential so it reads the three columns in smaller parts
  4. DMake the Lookup query return only the three needed columns
Show the answer and why
  • ARaise the Lookup activity's timeout

    Incorrect

    The failure is output size, not run time.

  • BTurn on retries with an increasing delay for the Lookup

    Incorrect

    Retrying returns the same oversized output and fails again.

  • CSwitch the ForEach to Sequential so it reads the three columns in smaller parts

    Incorrect

    The Lookup fails before the ForEach reads anything.

  • DMake the Lookup query return only the three needed columns

    Correct

    Smaller output stays under the 4 MB limit on what an activity can return.

Activities can return at most about 4 MB of execution output (error 2001). Reducing what the activity returns, such as selecting only the columns that downstream activities need, keeps it under the limit; bulk data should move with a Copy activity rather than through activity outputs.

Question 2 · choose 1

A parent pipeline passes an Array parameter named Tables to a child pipeline through an Invoke pipeline activity. The child's ForEach over @pipeline().parameters.Tables fails because the expression is of type String, not Array, even though the child's parameter is defined as Array. What fixes it?

  1. AConvert the value to an array in the expression the ForEach uses
  2. BChange the child's parameter type from Array to Object
  3. CPass the tables as a comma-separated string and loop over it in the ForEach expression
  4. DMark the Invoke pipeline activity to wait on completion
Show the answer and why
  • AConvert the value to an array in the expression the ForEach uses

    Correct

    The payload reaches the child as a string, so an array function restores the type.

  • BChange the child's parameter type from Array to Object

    Incorrect

    The value still arrives as a string, and ForEach needs an array.

  • CPass the tables as a comma-separated string and loop over it in the ForEach expression

    Incorrect

    ForEach can't iterate a plain string either.

  • DMark the Invoke pipeline activity to wait on completion

    Incorrect

    Waiting changes the parent's flow, not the parameter's type.

When a parent pipeline passes an array parameter to a child pipeline, the payload is passed as a string, so a ForEach over it fails with a type error. Microsoft's troubleshooting guide resolves this by applying an array function in the child's expression so the ForEach receives an array.

Question 3 · choose 1

A notebook starts with %pip install of a private package and runs fine interactively. When a pipeline runs it, the notebook fails with ModuleNotFoundError for that package. The fix must be durable for every scheduled run. What should you do?

  1. AMove the %pip install cell to the end of the notebook
  2. BRestart the pipeline with retries enabled on the Notebook activity
  3. CPublish the library in the environment the notebook is attached to
  4. DTurn on high concurrency for pipelines in the workspace
Show the answer and why
  • AMove the %pip install cell to the end of the notebook

    Incorrect

    Inline installs are disabled in pipeline runs wherever the cell is.

  • BRestart the pipeline with retries enabled on the Notebook activity

    Incorrect

    The import fails the same way on every attempt.

  • CPublish the library in the environment the notebook is attached to

    Correct

    Environment libraries install for every session, including pipeline runs.

  • DTurn on high concurrency for pipelines in the workspace

    Incorrect

    Session sharing doesn't install missing libraries.

Inline installation commands such as %pip install are disabled by default in pipeline runs (you can turn them on with the _inlineInstallationEnabled parameter), and libraries installed with %pip aren't retained across runs. Publishing the package in the notebook's environment makes it available to interactive and scheduled sessions alike.

Question 4 · choose 2

A producer renamed several JSON properties, and since then many events never appear in an eventhouse table, while others do. You must find the ingestion errors and stop them. Which two actions should you take? (Choose TWO.)

  1. AQuery queryinsights.exec_requests_history in the eventhouse
  2. BIncrease the table's retention policy so ingestion errors are kept longer
  3. CTurn on OneLake availability for the table
  4. DRun .show ingestion failures on the database to see the failed operations and their errors
  5. EUpdate the table's ingestion mapping so its JSON paths match the new property names
Show the answer and why
  • AQuery queryinsights.exec_requests_history in the eventhouse

    Incorrect

    Query insights belongs to warehouses and SQL endpoints.

  • BIncrease the table's retention policy so ingestion errors are kept longer

    Incorrect

    Retention controls how long data is kept, not whether it's ingested.

  • CTurn on OneLake availability for the table

    Incorrect

    This setting doesn't change how events are mapped or ingested.

  • DRun .show ingestion failures on the database to see the failed operations and their errors

    Correct

    This command lists ingestion failures with error details.

  • EUpdate the table's ingestion mapping so its JSON paths match the new property names

    Correct

    Mappings map source fields to columns; outdated paths break or empty the ingestion.

.show ingestion failures returns failed ingestion operations with details such as the error code and the source. Ingestion mappings map incoming data, such as JSON paths, to table columns; when producers change property names, the mapping must be updated so the data lands in the right columns.

Question 5 · choose 1

Two pipelines run at 02:00 and each runs a MERGE into dbo.FactSales in a Fabric warehouse. One of them often fails with error 24556: Snapshot isolation transaction aborted due to update conflict. What should you do?

  1. ASet the transaction isolation level to READ UNCOMMITTED for both pipelines
  2. BRun the two MERGEs one after the other instead of at the same time
  3. CAdd a NOT ENFORCED primary key to dbo.FactSales
  4. DGrant both pipelines' identities the db_owner role
Show the answer and why
  • ASet the transaction isolation level to READ UNCOMMITTED for both pipelines

    Incorrect

    The warehouse enforces snapshot isolation on all transactions.

  • BRun the two MERGEs one after the other instead of at the same time

    Correct

    Conflicts happen when two transactions modify the same table concurrently.

  • CAdd a NOT ENFORCED primary key to dbo.FactSales

    Incorrect

    Unenforced constraints don't prevent concurrent writes.

  • DGrant both pipelines' identities the db_owner role

    Incorrect

    Permissions aren't the cause of an update conflict.

Fabric Data Warehouse uses snapshot isolation for all transactions. When two transactions UPDATE, DELETE, MERGE or TRUNCATE the same table at the same time, one can fail with write-write conflict errors such as 24556 or 24706; avoid concurrent writers on a table, or retry the failed transaction.

Question 6 · choose 1

Twenty ADLS Gen2 shortcuts in a lakehouse stopped working after the engineer who created their shared cloud connection left the company. You want to fix all of them at once without recreating the shortcuts. What should you do?

  1. ADelete the twenty shortcuts and create them again with a new connection
  2. BTurn on the shortcut cache so reads come from Fabric
  3. CReplace the connection on the Manage OneLake shortcut connections page
  4. DGive every reader the Storage Blob Data Reader role on the account
Show the answer and why
  • ADelete the twenty shortcuts and create them again with a new connection

    Incorrect

    Recreating every shortcut is the work you wanted to avoid.

  • BTurn on the shortcut cache so reads come from Fabric

    Incorrect

    Caching doesn't fix the authorization of a broken connection.

  • CReplace the connection on the Manage OneLake shortcut connections page

    Correct

    This page shows broken connections and lets you replace a connection used by many shortcuts.

  • DGive every reader the Storage Blob Data Reader role on the account

    Incorrect

    External shortcuts authenticate through the connection, not each reader.

Shortcuts use shared cloud connections. The Manage OneLake shortcut connections page for a lakehouse lists every connection, highlights broken ones under Action required, shows how many shortcuts share each, and lets you replace a connection, for example when its creator left the organization.

Question 7 · choose 1

A partner keeps files in an ADLS Gen2 account in its own Microsoft Entra tenant and has no Fabric capacity. It gave your engineer's guest account the Storage Blob Data Reader role on the account, yet creating an ADLS shortcut with Organizational account authentication fails. The partner's policy forbids account keys and SAS tokens. How should you create the shortcut?

  1. AWith Workspace identity authentication, after the partner grants your workspace identity Storage Blob Data Reader
  2. BThrough an external data share that the partner creates for the folder
  3. CWith Service principal authentication, using a service principal that holds Storage Blob Data Reader on the partner's account
  4. DWith the Storage Blob Delegator role and folder ACLs for the guest account
Show the answer and why
  • AWith Workspace identity authentication, after the partner grants your workspace identity Storage Blob Data Reader

    Incorrect

    Workspace identity has the same cross-tenant limit as the organizational account that already failed.

  • BThrough an external data share that the partner creates for the folder

    Incorrect

    External data sharing shares Fabric item data and needs Fabric in both tenants, which the partner doesn't have.

  • CWith Service principal authentication, using a service principal that holds Storage Blob Data Reader on the partner's account

    Correct

    Shortcuts to a storage account in another Entra tenant need a service principal or a SAS token, and SAS is ruled out.

  • DWith the Storage Blob Delegator role and folder ACLs for the guest account

    Incorrect

    The guest still signs in as an organizational account, which is what fails across tenants.

ADLS shortcuts to storage accounts in a different Microsoft Entra tenant than the Fabric tenant require service principal or SAS authentication; organizational account and workspace identity authentication don't work across tenants, whatever roles or ACLs they hold. External data sharing is the cross-tenant option for data already in Fabric items, and it requires Fabric capacity in both tenants.

Question 8 · choose 1

A connection to a Fabric warehouse that always worked suddenly fails, with no changes to permissions, firewall or network. What does Microsoft recommend trying first?

  1. ARetry the command immediately over the same connection in a tight loop
  2. BRecreate the warehouse from a backup
  3. CWait 5 to 10 minutes, open a new connection, then retry
  4. DChange the workspace's capacity region
Show the answer and why
  • ARetry the command immediately over the same connection in a tight loop

    Incorrect

    Immediate retries are discouraged for transient faults.

  • BRecreate the warehouse from a backup

    Incorrect

    Nothing is wrong with the warehouse itself.

  • CWait 5 to 10 minutes, open a new connection, then retry

    Correct

    Transient faults often clear within a minute or so during reconfiguration.

  • DChange the workspace's capacity region

    Incorrect

    Region moves don't fix transient faults.

If a connection that used to work starts to fail without changes, it may be a transient fault, for example during hardware reconfiguration. Don't retry immediately: wait 5 to 10 minutes, establish a new connection and retry.

Question 9 · choose 1

When you add an Azure Event Hubs source to an eventstream without naming a consumer group, which consumer group does it read with?

  1. A$Fabric
  2. B$Eventstream
  3. CA new consumer group named after the eventstream
  4. D$Default
Show the answer and why
  • A$Fabric

    Incorrect

    There's no built-in $Fabric consumer group.

  • B$Eventstream

    Incorrect

    Eventstreams don't create a consumer group with that name.

  • CA new consumer group named after the eventstream

    Incorrect

    The source uses the consumer group you enter, $Default by default.

  • D$Default

    Correct

    The default consumer group for an event hub is $Default.

An Azure Event Hubs source asks for a consumer group; the default consumer group for an event hub is $Default. Separate readers should use separate consumer groups so they don't compete for the same position.

Question 10 · choose 1

A notebook deletes Files/Vendor/2024/old.csv, where Vendor is an ADLS Gen2 shortcut and the connection has delete rights on the storage. What happens to old.csv in the storage account?

  1. AOnly the lakehouse's view of the file is hidden from the storage account
  2. BIt's deleted from the storage account as well
  3. CThe delete fails as shortcuts are read-only
  4. DThe file moves to the lakehouse's recycle bin
Show the answer and why
  • AOnly the lakehouse's view of the file is hidden from the storage account

    Incorrect

    The delete reaches the target, not a local view.

  • BIt's deleted from the storage account as well

    Correct

    Deleting a file inside a shortcut deletes it in the target when permitted.

  • CThe delete fails as shortcuts are read-only

    Incorrect

    Shortcuts can be written to when the target permissions allow.

  • DThe file moves to the lakehouse's recycle bin

    Incorrect

    Shortcut deletes don't move files into the lakehouse.

Deleting a file or folder inside a shortcut, with permissions in the target to do so, deletes that file or folder in the target.

Question 11 · choose 1

You add ERRORFILE to a COPY INTO statement that loads Parquet files into a warehouse, but no rejected-row files appear after a failed load. Why?

  1. AERRORFILE works only inside an explicit transaction
  2. BRejected-row files are produced only for CSV and JSONL ingestion
  3. CERRORFILE must point to the warehouse's own Files folder
  4. DRejected-row files appear only after the warehouse restarts overnight
Show the answer and why
  • AERRORFILE works only inside an explicit transaction

    Incorrect

    Transactions don't control error file output.

  • BRejected-row files are produced only for CSV and JSONL ingestion

    Correct

    The error files aren't generated for Parquet files.

  • CERRORFILE must point to the warehouse's own Files folder

    Incorrect

    The location isn't why nothing was written for Parquet.

  • DRejected-row files appear only after the warehouse restarts overnight

    Incorrect

    Warehouses aren't restarted to produce error files.

Rejected-row files are produced only for CSV or JSONL files ingested with T-SQL commands such as COPY INTO, BULK INSERT and OPENROWSET. No rejected-row files are generated for Parquet files, external tools such as pipelines, or Delta tables.

Practice domain 3 →Practice all domains →