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?
ARaise the Lookup activity's timeout
BTurn on retries with an increasing delay for the Lookup
CSwitch the ForEach to Sequential so it reads the three columns in smaller parts
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.
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?
AConvert the value to an array in the expression the ForEach uses
BChange the child's parameter type from Array to Object
CPass the tables as a comma-separated string and loop over it in the ForEach expression
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.
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?
AMove the %pip install cell to the end of the notebook
BRestart the pipeline with retries enabled on the Notebook activity
CPublish the library in the environment the notebook is attached to
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
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.
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.)
AQuery queryinsights.exec_requests_history in the eventhouse
BIncrease the table's retention policy so ingestion errors are kept longer
CTurn on OneLake availability for the table
DRun .show ingestion failures on the database to see the failed operations and their errors
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.
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?
ASet the transaction isolation level to READ UNCOMMITTED for both pipelines
BRun the two MERGEs one after the other instead of at the same time
CAdd a NOT ENFORCED primary key to dbo.FactSales
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.
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.
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?
ADelete the twenty shortcuts and create them again with a new connection
BTurn on the shortcut cache so reads come from Fabric
CReplace the connection on the Manage OneLake shortcut connections page
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.
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?
AWith Workspace identity authentication, after the partner grants your workspace identity Storage Blob Data Reader
BThrough an external data share that the partner creates for the folder
CWith Service principal authentication, using a service principal that holds Storage Blob Data Reader on the partner's account
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.
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?
ARetry the command immediately over the same connection in a tight loop
BRecreate the warehouse from a backup
CWait 5 to 10 minutes, open a new connection, then retry
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.
When you add an Azure Event Hubs source to an eventstream without naming a consumer group, which consumer group does it read with?
A$Fabric
B$Eventstream
CA new consumer group named after the eventstream
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.
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?
AOnly the lakehouse's view of the file is hidden from the storage account
BIt's deleted from the storage account as well
CThe delete fails as shortcuts are read-only
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.
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?
AERRORFILE works only inside an explicit transaction
BRejected-row files are produced only for CSV and JSONL ingestion
CERRORFILE must point to the warehouse's own Files folder
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.