Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
HI - I have a premium workspace with 5 seperate "Layer 1" ingestion dataflows bringing in data from an Azure data warehouse. No ETL in the dataflows, just pure ingestion.
I have then a single "Layer 2" ETL dataflow in the same workspace that links to all 5 tables, creates "reference" tables of each linked table, marks columns as Key columns, and thats it for now ( ultimately will merge them all, but thats off topic).
The issue is that when I try to run schedule refreshes accross the 5 Layer 1s, one will run, but the others will fail due to Lock error message below. If I delete the Layer 2 dataflow, everything refreshes no problem. If I put the Layer 2 in another workspace, again everything will refresh no problem, however I would prefer not to seperate the full ETL into different workspaces.
Error message :
" There was a problem refreshing your dataflow. xxxx "ErrorMessage":"Cannot acquire lock for model yyyy because it is currently in use"
Is this an expected behaviour ? If so, is there a workaround or proper best practice to setting up ETLs ? If not, what can I do to troubleshoot ? Its definitely the Layer 2 Dataflow causing the issue, I've tested deleting, refreshing, recreating multiple times with same outcome.
Thanks,
Dave
Thanks for the reply, no I'm reasonably new . Will google that now.
edit - got the code, but unsure where I place it to stop the downstream dataflow from locking upstream ?
Have you considered using Table.Buffer for better spooling isolation?
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.