<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Issues using lakehouse as ODS-layer with datawarehouse for ETL and reporting-layer in Data Engineering</title>
    <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Issues-using-lakehouse-as-ODS-layer-with-datawarehouse-for-ETL/m-p/4394397#M6916</link>
    <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="921841" data-lia-user-login="JasperN" class="lia-mention lia-mention-user"&gt;JasperN&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for discussing the solution over private chat.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;I am sharing details you have shared , here with the community, as this is a issue faced by many users&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;import time&lt;BR /&gt;import json&lt;BR /&gt;from notebookutils import mssparkutils&lt;BR /&gt;&lt;BR /&gt;# Get the default Lakehouse path&lt;BR /&gt;default_lakehouse_path = next(mp.source for mp in mssparkutils.fs.mounts() if mp.mountPoint == '/default')&lt;BR /&gt;table_path = f"{default_lakehouse_path}/Tables/anbkw"&lt;BR /&gt;&lt;BR /&gt;# Max retries &amp;amp; wait time&lt;BR /&gt;max_retries = 20&lt;BR /&gt;wait_time = 30 # Seconds&lt;BR /&gt;&lt;BR /&gt;print(f"Checking for table at: {table_path}")&lt;BR /&gt;&lt;BR /&gt;# Polling loop&lt;BR /&gt;for attempt in range(max_retries):&lt;BR /&gt;if mssparkutils.fs.exists(table_path):&lt;BR /&gt;print(f"Table 'anbkw' found in Tables folder on attempt {attempt+1}")&lt;BR /&gt;# mssparkutils.notebook.exit(json.dumps({"status": "success", "message": "Table found"})) # SUCCESS&lt;BR /&gt;mssparkutils.notebook.exit("success") # SUCCESS&lt;BR /&gt;break&lt;BR /&gt;&lt;BR /&gt;print(f"Attempt {attempt+1}: Table 'anbkw' not found. Retrying in {wait_time} seconds...")&lt;BR /&gt;time.sleep(wait_time)&lt;BR /&gt;&lt;BR /&gt;# If table never appears, fail the notebook and return an error message&lt;BR /&gt;# mssparkutils.notebook.exit(json.dumps({"status": "failed", "message": "Table not found after max retries"}))&lt;BR /&gt;mssparkutils.notebook.exit("failed") # FAILED&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;This checks whether the last table has been loaded into the Lakehouse and returns either "success" or "failed" in the "output.result.exitValue" property of the JSON output.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;P&gt;In my pipeline, I validate this using an "If Condition" activity with the following dynamic content expression:&lt;/P&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;PRE&gt;@equals(activity('Verify data load in ODS lakehouse').output.result.exitValue,'success')&lt;/PRE&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;This is how my pipeline looks now:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;img /&gt;&lt;P&gt; &lt;/P&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
    <pubDate>Tue, 04 Feb 2025 12:43:07 GMT</pubDate>
    <dc:creator>nilendraFabric</dc:creator>
    <dc:date>2025-02-04T12:43:07Z</dc:date>
    <item>
      <title>Issues using lakehouse as ODS-layer with datawarehouse for ETL and reporting-layer</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Issues-using-lakehouse-as-ODS-layer-with-datawarehouse-for-ETL/m-p/4387996#M6708</link>
      <description>&lt;P&gt;Hi everyone,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm running into some issues running this "Master" pipeline:&lt;/P&gt;&lt;P&gt;&lt;img /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Basic dataflow:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Load data from CRM and ERP into an ODS lakehouse using separate data pipelines via the "Invoke Pipeline" activity.&lt;/LI&gt;&lt;LI&gt;Use "Master" stored procedure to ETL data into an Reporting datawarehouse via the "Stored procedure" activity.&lt;OL&gt;&lt;LI&gt;First into tables with STG schema (all with 1 stored procedure per staging table)&lt;/LI&gt;&lt;LI&gt;Then from STG into reporting tables with DWH schema (again, all with 1 stored procedure per reporting table)&lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;Both the lakehouse and datawarehouse, as well as all the pipelines are located in the same Fabric workspace.&lt;/P&gt;&lt;P&gt;The stored procedures are all located in the datawarehouse.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Both the CRM and the ERP data pipeline use the "Copy data" activity to get data into the lakehouse.&lt;/P&gt;&lt;P&gt;CRM is using a REST API to connect to the source, while ERP is using an on-prem datagateway.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;img /&gt;&lt;/P&gt;&lt;P&gt;&lt;img /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Issues I have experienced:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Initial setup:&lt;BR /&gt;Using the "Copy data" activity with the "Table action" set to "Overwrite" (tab "Destination" in the "Copy data" activity) often resulted in no new data being written to the lakehouse tables.&lt;BR /&gt;So the tables just retained the data from the previous data load. In this case no errors where reported and when I looked more into detail in the history, I could even see the correct amount of line read and written even though no new data was actually loaded.&lt;/LI&gt;&lt;LI&gt;Current setup:&lt;BR /&gt;Drop and recreate the lakehouse tables first using a notebook and PySpark to force the lakehouse into accepting the new data (at best) and more easilly flag the previous problem (at worst). (The notebook is located on the same workspace.)&lt;BR /&gt;However, now the tables / new data often end up in an "Unidentified folder" instead of in the "Tables" folder.&lt;BR /&gt;This causes the "Stored procedure" activity to result in an error because the data cannot be used by the datawarehouse.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;img /&gt;&lt;/P&gt;&lt;P&gt;(FYI - dbo.ladad is the first table used by the first stored procedure.)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Usually, by the time I'm able to look into the issue the lakehouse tables are actually in the "Tables" folder and I'm able to rerun the pipeline from the failed activity and it goes through fine.&lt;/P&gt;&lt;P&gt;That's why I also added some wait time after the data load pipelines, which unfortunately doesn't really help in reducing the incidence of the error.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This issue is becoming more and more frequent in the last weeks (run is 2 times per day and a lot of the "Succeeded" runs are my pipeline reruns starting from the failed activity):&lt;/P&gt;&lt;P&gt;&lt;img /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've honestly looked into this for far too long and honestly don't really know what to do to fix this issue.&lt;/P&gt;&lt;P&gt;It just seems that using a lakehouse as an ODS layer with a pipeline to load the data is inherently still unstable, which makes it unusable for reporting.&amp;nbsp;&lt;/P&gt;&lt;P&gt;That being set, as far as I can find online, I notice that this approach is actually the recommend method by Microsoft (lakehouse for bulk import, datawarehouse for reporting).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;That is why I would like to ask the community if anyone has run into these issues before?&lt;/P&gt;&lt;P&gt;And does anyone know how to fix it?&lt;/P&gt;&lt;P&gt;Or is there a better way to do what I'm trying to do in Fabric?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you so much in advance for any insight you can provide!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Kind regards,&lt;/P&gt;&lt;P&gt;Jasper&lt;/P&gt;</description>
      <pubDate>Thu, 30 Jan 2025 11:04:35 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Issues-using-lakehouse-as-ODS-layer-with-datawarehouse-for-ETL/m-p/4387996#M6708</guid>
      <dc:creator>JasperN</dc:creator>
      <dc:date>2025-01-30T11:04:35Z</dc:date>
    </item>
    <item>
      <title>Re: Issues using lakehouse as ODS-layer with datawarehouse for ETL and reporting-layer</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Issues-using-lakehouse-as-ODS-layer-with-datawarehouse-for-ETL/m-p/4389621#M6753</link>
      <description>&lt;P&gt;Hello Jasper ,&lt;BR /&gt;&lt;BR /&gt;Give it a try&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;SPAN&gt;A Get Metadata activity&amp;nbsp; that checks for the existence of the "Last Table in Your Sequensce" folder in the Tables section.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;An If Condition activity that evaluates the output of the Get Metadata activity.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Two Set Variable activities within the If Condition:&lt;/SPAN&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN&gt;"Folder Exists" sets a variable if the folder is found.&amp;nbsp; -&amp;gt; run your normal flow&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;"Folder Does Not Exist" sets a variable if the folder is not found.&amp;nbsp; --&amp;gt; retry again using while or loop in predefined time&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;&lt;SPAN&gt;A pipeline variable named "FolderStatus" to store the result.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;from&lt;/SPAN&gt; &lt;SPAN&gt;notebookutils&lt;/SPAN&gt; &lt;SPAN&gt;import&lt;/SPAN&gt; &lt;SPAN&gt;mssparkutils&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;import&lt;/SPAN&gt; &lt;SPAN&gt;json&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Get the default Lakehouse path&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;default_lakehouse_path&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;next&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;mp&lt;/SPAN&gt;&lt;SPAN&gt;.source &lt;/SPAN&gt;&lt;SPAN&gt;for&lt;/SPAN&gt; &lt;SPAN&gt;mp&lt;/SPAN&gt; &lt;SPAN&gt;in&lt;/SPAN&gt; &lt;SPAN&gt;mssparkutils&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;fs&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;mounts&lt;/SPAN&gt;&lt;SPAN&gt;() &lt;/SPAN&gt;&lt;SPAN&gt;if&lt;/SPAN&gt; &lt;SPAN&gt;mp&lt;/SPAN&gt;&lt;SPAN&gt;.mountPoint == &lt;/SPAN&gt;&lt;SPAN&gt;'/default'&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Construct the path to the Unidentified folder&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;# unidentified_folder_path = f"{default_lakehouse_path}/Tables/Unidentified"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;print&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;f&lt;/SPAN&gt;&lt;SPAN&gt;"Path to Unidentified folder: &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;unidentified_folder_path&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;unidentified_folder_path&lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;"abfss://Taxi_data@onelake.dfs.fabric.microsoft.com/taxiLH.Lakehouse/Tables/rate_code"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;# Check if the folder exists&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;folder_exists&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;mssparkutils&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;fs&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;exists&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;unidentified_folder_path&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Output the result&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;output&lt;/SPAN&gt;&lt;SPAN&gt; = {&lt;/SPAN&gt;&lt;SPAN&gt;"folder_exists"&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;folder_exists&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;print&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;json&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;dumps&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;output&lt;/SPAN&gt;&lt;SPAN&gt;))&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;img /&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;PS : Unidentified&amp;nbsp; is not discoverable using mssparkutils&lt;BR /&gt;Hope this works.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;Please let me know if this works and accept the answer here.&lt;BR /&gt;&lt;BR /&gt;Thanks&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;</description>
      <pubDate>Fri, 31 Jan 2025 09:45:53 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Issues-using-lakehouse-as-ODS-layer-with-datawarehouse-for-ETL/m-p/4389621#M6753</guid>
      <dc:creator>nilendraFabric</dc:creator>
      <dc:date>2025-01-31T09:45:53Z</dc:date>
    </item>
    <item>
      <title>Re: Issues using lakehouse as ODS-layer with datawarehouse for ETL and reporting-layer</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Issues-using-lakehouse-as-ODS-layer-with-datawarehouse-for-ETL/m-p/4389816#M6765</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="921841" data-lia-user-login="JasperN" class="lia-mention lia-mention-user"&gt;JasperN&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Thank you for reaching out to Microsoft Fabric Community.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The primary issue here is inconsistency in the Lakehouse metadata update after the Copy data operation. This results in data being stored in an "Unidentified folder" temporarily before appearing in the "Tables" folder.&lt;/P&gt;
&lt;P&gt;So the stored procedure fails because it tries to access the table before the Lakehouse metadata update is complete. please try below steps:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;After the Copy Data activity, run this SQL command in a Notebook before running the stored procedure “REFRESH TABLE lakehouse_schema.table_name”.&lt;BR /&gt;This forces an immediate update of the Lakehouse metadata so that the stored procedure can recognize the new data.&lt;/LI&gt;
&lt;LI&gt;If the issue continues, replace "Overwrite" in Copy Data with "Truncate Table" first before inserting new data.&lt;BR /&gt;This ensures data is cleared before writing new records and helps in avoiding inconsistencies in the lakehouse.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;If this post&amp;nbsp;helps, then please consider&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Accepting as the solution&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;to help the other members find it more quickly,&amp;nbsp;don't forget to give a "&lt;/SPAN&gt;&lt;STRONG&gt;Kudos&lt;/STRONG&gt;&lt;SPAN&gt;" – I’d truly appreciate it!&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks and regards,&lt;/P&gt;
&lt;P&gt;Anjan Kumar Chippa&lt;/P&gt;</description>
      <pubDate>Fri, 31 Jan 2025 11:55:37 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Issues-using-lakehouse-as-ODS-layer-with-datawarehouse-for-ETL/m-p/4389816#M6765</guid>
      <dc:creator>v-achippa</dc:creator>
      <dc:date>2025-01-31T11:55:37Z</dc:date>
    </item>
    <item>
      <title>Re: Issues using lakehouse as ODS-layer with datawarehouse for ETL and reporting-layer</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Issues-using-lakehouse-as-ODS-layer-with-datawarehouse-for-ETL/m-p/4389840#M6766</link>
      <description>&lt;P&gt;Hi!&lt;BR /&gt;&lt;BR /&gt;Thank you for the proposed solution!&lt;BR /&gt;&lt;BR /&gt;However, this does not work because it is already part of my current setup in which I first drop and recreated the ODS lakehouse tables before the data load.&lt;BR /&gt;&lt;BR /&gt;After each CREATE TABLE statement I run the REFRESH TABLE command as well but it doens't work.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regarding the other solution: I only get the options to Append or Overwrite, not Truncate Table.&lt;/P&gt;</description>
      <pubDate>Fri, 31 Jan 2025 12:17:00 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Issues-using-lakehouse-as-ODS-layer-with-datawarehouse-for-ETL/m-p/4389840#M6766</guid>
      <dc:creator>JasperN</dc:creator>
      <dc:date>2025-01-31T12:17:00Z</dc:date>
    </item>
    <item>
      <title>Re: Issues using lakehouse as ODS-layer with datawarehouse for ETL and reporting-layer</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Issues-using-lakehouse-as-ODS-layer-with-datawarehouse-for-ETL/m-p/4394397#M6916</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="921841" data-lia-user-login="JasperN" class="lia-mention lia-mention-user"&gt;JasperN&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for discussing the solution over private chat.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;I am sharing details you have shared , here with the community, as this is a issue faced by many users&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;import time&lt;BR /&gt;import json&lt;BR /&gt;from notebookutils import mssparkutils&lt;BR /&gt;&lt;BR /&gt;# Get the default Lakehouse path&lt;BR /&gt;default_lakehouse_path = next(mp.source for mp in mssparkutils.fs.mounts() if mp.mountPoint == '/default')&lt;BR /&gt;table_path = f"{default_lakehouse_path}/Tables/anbkw"&lt;BR /&gt;&lt;BR /&gt;# Max retries &amp;amp; wait time&lt;BR /&gt;max_retries = 20&lt;BR /&gt;wait_time = 30 # Seconds&lt;BR /&gt;&lt;BR /&gt;print(f"Checking for table at: {table_path}")&lt;BR /&gt;&lt;BR /&gt;# Polling loop&lt;BR /&gt;for attempt in range(max_retries):&lt;BR /&gt;if mssparkutils.fs.exists(table_path):&lt;BR /&gt;print(f"Table 'anbkw' found in Tables folder on attempt {attempt+1}")&lt;BR /&gt;# mssparkutils.notebook.exit(json.dumps({"status": "success", "message": "Table found"})) # SUCCESS&lt;BR /&gt;mssparkutils.notebook.exit("success") # SUCCESS&lt;BR /&gt;break&lt;BR /&gt;&lt;BR /&gt;print(f"Attempt {attempt+1}: Table 'anbkw' not found. Retrying in {wait_time} seconds...")&lt;BR /&gt;time.sleep(wait_time)&lt;BR /&gt;&lt;BR /&gt;# If table never appears, fail the notebook and return an error message&lt;BR /&gt;# mssparkutils.notebook.exit(json.dumps({"status": "failed", "message": "Table not found after max retries"}))&lt;BR /&gt;mssparkutils.notebook.exit("failed") # FAILED&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;This checks whether the last table has been loaded into the Lakehouse and returns either "success" or "failed" in the "output.result.exitValue" property of the JSON output.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;P&gt;In my pipeline, I validate this using an "If Condition" activity with the following dynamic content expression:&lt;/P&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;PRE&gt;@equals(activity('Verify data load in ODS lakehouse').output.result.exitValue,'success')&lt;/PRE&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;This is how my pipeline looks now:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;img /&gt;&lt;P&gt; &lt;/P&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 04 Feb 2025 12:43:07 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Issues-using-lakehouse-as-ODS-layer-with-datawarehouse-for-ETL/m-p/4394397#M6916</guid>
      <dc:creator>nilendraFabric</dc:creator>
      <dc:date>2025-02-04T12:43:07Z</dc:date>
    </item>
    <item>
      <title>Re: Issues using lakehouse as ODS-layer with datawarehouse for ETL and reporting-layer</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Issues-using-lakehouse-as-ODS-layer-with-datawarehouse-for-ETL/m-p/4394410#M6919</link>
      <description>&lt;P&gt;Thanks for posting this,&amp;nbsp;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="913195" data-lia-user-login="nilendraFabric" class="lia-mention lia-mention-user"&gt;nilendraFabric&lt;/a&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Small update in the meantime: I've added a refreshMounts() function in the notebook code in the hopes that helps forcing a metadata reload while checking if the tables are loaded.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;P&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; time&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; json&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;from&lt;/SPAN&gt;&lt;SPAN&gt; notebookutils &lt;/SPAN&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; mssparkutils&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Get the default Lakehouse path&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;default_lakehouse_path = &lt;/SPAN&gt;&lt;SPAN&gt;next&lt;/SPAN&gt;&lt;SPAN&gt;(mp.source &lt;/SPAN&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt; mp &lt;/SPAN&gt;&lt;SPAN&gt;in&lt;/SPAN&gt;&lt;SPAN&gt; mssparkutils.fs.mounts() &lt;/SPAN&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt; mp.mountPoint == &lt;/SPAN&gt;&lt;SPAN&gt;'/default'&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;table_path = &lt;/SPAN&gt;&lt;SPAN&gt;f&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;default_lakehouse_path&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;/Tables/anbkw"&lt;BR /&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# Max retries &amp;amp; wait time&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;max_retries = &lt;/SPAN&gt;&lt;SPAN&gt;20&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;wait_time = &lt;/SPAN&gt;&lt;SPAN&gt;30&lt;/SPAN&gt;&lt;SPAN&gt; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;# Seconds&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;print&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;f&lt;/SPAN&gt;&lt;SPAN&gt;"Checking for table at: &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;table_path&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Force a metadata refresh&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;print&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"Forcing metadata refresh in the Lakehouse..."&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;mssparkutils.fs.refreshMounts()&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Polling loop&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt; attempt &lt;/SPAN&gt;&lt;SPAN&gt;in&lt;/SPAN&gt; &lt;SPAN&gt;range&lt;/SPAN&gt;&lt;SPAN&gt;(max_retries):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt; mssparkutils.fs.exists(table_path):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;print&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;f&lt;/SPAN&gt;&lt;SPAN&gt;"Table 'anbkw' found in Tables folder on attempt &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;attempt+&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;# mssparkutils.notebook.exit(json.dumps({"status": "success", "message": "Table found"})) &amp;nbsp;# SUCCESS&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mssparkutils.notebook.exit(&lt;/SPAN&gt;&lt;SPAN&gt;"success"&lt;/SPAN&gt;&lt;SPAN&gt;) &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;# SUCCESS&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;break&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;print&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;f&lt;/SPAN&gt;&lt;SPAN&gt;"Attempt &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;attempt+&lt;/SPAN&gt;&lt;SPAN&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;: Table 'anbkw' not found. Retrying in &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;wait_time&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt; seconds..."&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; time.sleep(wait_time)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; mssparkutils.fs.refreshMounts() &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;# Refresh metadata before retrying&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# If table never appears, fail the notebook and return an error message&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;# mssparkutils.notebook.exit(json.dumps({"status": "failed", "message": "Table not found after max retries"}))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;mssparkutils.notebook.exit(&lt;/SPAN&gt;&lt;SPAN&gt;"failed"&lt;/SPAN&gt;&lt;SPAN&gt;) &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;# FAILED&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;Lastly, below some screenshots from the pipeline as it exists now, including the steps in the "If Condition".&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;img /&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;img /&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;P&gt;&lt;img /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If anything is still unclear, feel free to reach out for some support! &lt;span class="lia-unicode-emoji" title=":thumbs_up:"&gt;👍&lt;/span&gt;&lt;/P&gt;&lt;P&gt;I'll also update this topic should I stumble upon anything else!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 04 Feb 2025 12:50:32 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Issues-using-lakehouse-as-ODS-layer-with-datawarehouse-for-ETL/m-p/4394410#M6919</guid>
      <dc:creator>JasperN</dc:creator>
      <dc:date>2025-02-04T12:50:32Z</dc:date>
    </item>
    <item>
      <title>Re: Issues using lakehouse as ODS-layer with datawarehouse for ETL and reporting-layer</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Issues-using-lakehouse-as-ODS-layer-with-datawarehouse-for-ETL/m-p/4394816#M6926</link>
      <description>&lt;P&gt;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="921841" data-lia-user-login="JasperN" class="lia-mention lia-mention-user"&gt;JasperN&lt;/a&gt;&amp;nbsp;Thanks for sharing the details&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 04 Feb 2025 16:08:24 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Issues-using-lakehouse-as-ODS-layer-with-datawarehouse-for-ETL/m-p/4394816#M6926</guid>
      <dc:creator>nilendraFabric</dc:creator>
      <dc:date>2025-02-04T16:08:24Z</dc:date>
    </item>
    <item>
      <title>Re: Issues using lakehouse as ODS-layer with datawarehouse for ETL and reporting-layer</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Issues-using-lakehouse-as-ODS-layer-with-datawarehouse-for-ETL/m-p/4400236#M7046</link>
      <description>&lt;P&gt;&lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="913195" data-lia-user-login="nilendraFabric" class="lia-mention lia-mention-user"&gt;nilendraFabric&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;Unfortunately, the proposed solution didn't help.&lt;/P&gt;&lt;P&gt;I still got the same error as before, even though the tables were loaded correctly into the lakehouse and I got confirmation from the notebook that they were not in the "Unidentified folder".&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Even worse, the pipeline got reported as a success (luckily, the Outlook activities were correctly implemented).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;img /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My current theory is that this is a metadata refresh issue in both the ODS lakehouse and DWH warehouse.&lt;/P&gt;&lt;P&gt;In this case, we also need to implement the same logic for the warehouse as we did for the ODS lakehouse.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Current new pipeline implementation:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;img /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;The lakehouse and warehouse metadata checks have been split of into a child pipeline:&lt;BR /&gt;&lt;/STRONG&gt;&lt;EM&gt;(Using a legacy activity because I need the pipeline return variables which at the time of writing weren't available for the new preview activity.)&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;img /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Flow in child pipeline:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Previous notebook activity to check and force metadata refresh in ODS lakehouse&lt;/LI&gt;&lt;LI&gt;Until activity to check and force metadata refresh in DWH warehouse&lt;OL&gt;&lt;LI&gt;Script activity to verify &amp;amp; force metadata reload in warehouse&lt;BR /&gt;&lt;EM&gt;(Using a notebook with a Fabric warehouse is still buggy)&lt;/EM&gt;&lt;/LI&gt;&lt;LI&gt;Counter variables&lt;/LI&gt;&lt;LI&gt;Wait time (30 seconds)&lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;&lt;LI&gt;Set a return variable (1 = success, 0 = fail)&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Code used pipelines:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Until activity expression (max 20 tries with 30 seconds between each try) (child pipeline)&amp;nbsp;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;@or(&lt;BR /&gt;&amp;nbsp; &amp;nbsp; equals(activity('Check lakehouse table availability').output.resultSets[2].rows[0].TableExists, 1),&lt;BR /&gt;&amp;nbsp; &amp;nbsp; greaterOrEquals(variables('RetryCount'), 20)&lt;BR /&gt;)&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Check DWH metadata and force reload script (child pipeline)&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;-- Step 1: Force a Metadata Refresh by listing all tables

SELECT name FROM ODS.sys.tables;

-- Step 2: Try a dummy query on the expected table (prevents Fabric caching issues)

BEGIN TRY
    SELECT TOP 1 * FROM ODS.dbo.anbkw;
END TRY

BEGIN CATCH
    -- Ignore errors if table doesn't exist yet
END CATCH;

-- Step 3: Declare variable for table existence

DECLARE @TableExists INT = 0;

-- Step 4: Check if the table is accessible

IF EXISTS (SELECT 1 FROM ODS.sys.tables WHERE name = 'anbkw')
BEGIN

    BEGIN TRY
        IF EXISTS (SELECT 1 FROM ODS.dbo.anbkw)
        BEGIN
            SET @TableExists = 1; -- Table is accessible
        END
    END TRY

    BEGIN CATCH
        -- If an error occurs, keep @TableExists = 0 (Do nothing)
    END CATCH

END

-- Step 5: Return Result for Fabric Pipeline

SELECT TableExists = CAST(@TableExists AS INT);&lt;/LI-CODE&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;UL&gt;&lt;LI&gt;Set Count variable&amp;nbsp;(child pipeline)&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;PRE&gt;@add(int(variables('RetryCount')), 1)&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;UL&gt;&lt;LI&gt;Set RetryCount (child pipeline)&lt;/LI&gt;&lt;/UL&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;PRE&gt;@variables('Count')&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;UL&gt;&lt;LI&gt;Set SuccessVariable&amp;nbsp;(child pipeline)&lt;/LI&gt;&lt;/UL&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;PRE&gt;@if(&lt;BR /&gt;&amp;nbsp; &amp;nbsp; and(&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; equals(activity('Verify and force metadata reload ODS').output.result.exitValue, 'success'),&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; equals(activity('Check lakehouse table availability').output.resultSets[2].rows[0].TableExists, 1)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; ),&lt;BR /&gt;&amp;nbsp; &amp;nbsp; 1,&lt;BR /&gt;&amp;nbsp; &amp;nbsp; 0&lt;BR /&gt;)&lt;/PRE&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;UL&gt;&lt;LI&gt;If condition&amp;nbsp;(parent pipeline):&lt;/LI&gt;&lt;/UL&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;PRE&gt;@equals(activity('Check ODS and DWH metadata update').output.pipelineReturnValue.LoadSuccessful, 1)&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 07 Feb 2025 14:20:39 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Issues-using-lakehouse-as-ODS-layer-with-datawarehouse-for-ETL/m-p/4400236#M7046</guid>
      <dc:creator>JasperN</dc:creator>
      <dc:date>2025-02-07T14:20:39Z</dc:date>
    </item>
  </channel>
</rss>

