<?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: Delta Sharing with Materialized View - recepient data not refreshing when using Open Protocol in Data Engineering</title>
    <link>https://community.databricks.com/t5/data-engineering/delta-sharing-with-materialized-view-recepient-data-not/m-p/153368#M53961</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/223614"&gt;@ittzzmalind&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;This is expected behaviour and is mainly due to how Delta Sharing handles materialized views for open (non-Databricks) recipients versus Databricks-to-Databricks recipients.&lt;/P&gt;
&lt;P&gt;For Databricks-to-Databricks recipients, the shared materialized view is read almost directly from its backing table. After you run REFRESH MATERIALIZED VIEW, those recipients see the new data right away.&lt;/P&gt;
&lt;P&gt;However, for open recipients using the Python delta_sharing client, Databricks uses provider-side materialization. This means the first query for that MV builds a hidden, cached table on the provider side, and subsequent queries for that same recipient reuse that cached result for a configurable time-to-live (TTL, default 8 hours).. see snapshot from documentation below. During that TTL, the open recipient can still see stale data even after refreshing the MV.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="delta share TTL.png" style="width: 999px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/25673iF951FEF53AD16B69/image-size/large?v=v2&amp;amp;px=999" role="button" title="delta share TTL.png" alt="delta share TTL.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;SPAN&gt;That’s why y&lt;/SPAN&gt;&lt;SPAN&gt;our original open recipient continued to see the old data, and a&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;new&lt;/SPAN&gt;&lt;SPAN&gt; open recipient (new token) immediately saw the updated data because it triggered a fresh materialization.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;To mitigate this, you can reduce the TTL of data materialisation in the Delta Sharing settings at the metastore level, so cached results expire sooner (at the cost of more frequent recompute and higher provider cost). Check this &lt;A href="https://docs.databricks.com/aws/en/delta-sharing/set-up#configure-ttl-of-data-materialization" target="_blank"&gt;link&lt;/A&gt; for the steps.&lt;/P&gt;
&lt;P&gt;Where possible, use Databricks-to-Databricks sharing for consumers that need near-real-time MV freshness, or share a Delta table instead of an MV for open recipients and let them do the aggregation on their side.&lt;/P&gt;
&lt;P&gt;Hope this helps.&lt;/P&gt;
&lt;P class="p1"&gt;&lt;FONT size="2" color="#FF6600"&gt;&lt;I&gt;If this answer resolves your question, could you mark it as “Accept as Solution”? That helps other users quickly find the correct fix.&lt;/I&gt;&lt;/FONT&gt;&lt;I&gt;&lt;/I&gt;&lt;/P&gt;</description>
    <pubDate>Sun, 05 Apr 2026 16:27:45 GMT</pubDate>
    <dc:creator>Ashwin_DSA</dc:creator>
    <dc:date>2026-04-05T16:27:45Z</dc:date>
    <item>
      <title>Delta Sharing with Materialized View - recepient data not refreshing when using Open Protocol</title>
      <link>https://community.databricks.com/t5/data-engineering/delta-sharing-with-materialized-view-recepient-data-not/m-p/153361#M53960</link>
      <description>&lt;P&gt;Scenario: Delta Sharing with Materialized View&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Provider Side Setup :&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;-&amp;gt;A Delta Share was created.&lt;/P&gt;&lt;P&gt;-&amp;gt;A materialized view was added to the share.&lt;/P&gt;&lt;P&gt;-&amp;gt;Recipients Created&lt;/P&gt;&lt;P&gt;-&amp;gt; 1). Open Delta Sharing recipient&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Accessed using Python (import delta_sharing)&lt;/P&gt;&lt;P&gt;-&amp;gt;2). Databricks-to-Databricks recipient&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Accessed directly from another Databricks workspace&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Initial Behavior&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Both recipients executed a SELECT query on the shared materialized view.&lt;/P&gt;&lt;P&gt;Result: Both returned the same (correct) data.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;After Data Update&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Source data for the materialized view changed.&lt;/P&gt;&lt;P&gt;The materialized view was refreshed, and new records were added.&lt;/P&gt;&lt;P&gt;Observed Behavior at Recipient Side&lt;/P&gt;&lt;P&gt;Recipient Type&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -- Result After Refresh&lt;/P&gt;&lt;P&gt;Open Delta Sharing (Python)&amp;nbsp; &amp;nbsp; &amp;nbsp;-- Returned old data only&lt;/P&gt;&lt;P&gt;Databricks-to-Databricks&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -- Returned updated data (including new records)&lt;/P&gt;&lt;P&gt;Now created another recipient at provider for Open Delta Sharing (Python), &amp;nbsp;with this recipient the code run at python and results returned correctly with new added records.&lt;/P&gt;&lt;P&gt;tried removing materialized view from share and add it back but not working ? why behaving like this is this correct behavior ? any method to solve this??&lt;/P&gt;</description>
      <pubDate>Sun, 05 Apr 2026 15:24:19 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/delta-sharing-with-materialized-view-recepient-data-not/m-p/153361#M53960</guid>
      <dc:creator>ittzzmalind</dc:creator>
      <dc:date>2026-04-05T15:24:19Z</dc:date>
    </item>
    <item>
      <title>Re: Delta Sharing with Materialized View - recepient data not refreshing when using Open Protocol</title>
      <link>https://community.databricks.com/t5/data-engineering/delta-sharing-with-materialized-view-recepient-data-not/m-p/153368#M53961</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/223614"&gt;@ittzzmalind&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;This is expected behaviour and is mainly due to how Delta Sharing handles materialized views for open (non-Databricks) recipients versus Databricks-to-Databricks recipients.&lt;/P&gt;
&lt;P&gt;For Databricks-to-Databricks recipients, the shared materialized view is read almost directly from its backing table. After you run REFRESH MATERIALIZED VIEW, those recipients see the new data right away.&lt;/P&gt;
&lt;P&gt;However, for open recipients using the Python delta_sharing client, Databricks uses provider-side materialization. This means the first query for that MV builds a hidden, cached table on the provider side, and subsequent queries for that same recipient reuse that cached result for a configurable time-to-live (TTL, default 8 hours).. see snapshot from documentation below. During that TTL, the open recipient can still see stale data even after refreshing the MV.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="delta share TTL.png" style="width: 999px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/25673iF951FEF53AD16B69/image-size/large?v=v2&amp;amp;px=999" role="button" title="delta share TTL.png" alt="delta share TTL.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;SPAN&gt;That’s why y&lt;/SPAN&gt;&lt;SPAN&gt;our original open recipient continued to see the old data, and a&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;new&lt;/SPAN&gt;&lt;SPAN&gt; open recipient (new token) immediately saw the updated data because it triggered a fresh materialization.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;To mitigate this, you can reduce the TTL of data materialisation in the Delta Sharing settings at the metastore level, so cached results expire sooner (at the cost of more frequent recompute and higher provider cost). Check this &lt;A href="https://docs.databricks.com/aws/en/delta-sharing/set-up#configure-ttl-of-data-materialization" target="_blank"&gt;link&lt;/A&gt; for the steps.&lt;/P&gt;
&lt;P&gt;Where possible, use Databricks-to-Databricks sharing for consumers that need near-real-time MV freshness, or share a Delta table instead of an MV for open recipients and let them do the aggregation on their side.&lt;/P&gt;
&lt;P&gt;Hope this helps.&lt;/P&gt;
&lt;P class="p1"&gt;&lt;FONT size="2" color="#FF6600"&gt;&lt;I&gt;If this answer resolves your question, could you mark it as “Accept as Solution”? That helps other users quickly find the correct fix.&lt;/I&gt;&lt;/FONT&gt;&lt;I&gt;&lt;/I&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 05 Apr 2026 16:27:45 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/delta-sharing-with-materialized-view-recepient-data-not/m-p/153368#M53961</guid>
      <dc:creator>Ashwin_DSA</dc:creator>
      <dc:date>2026-04-05T16:27:45Z</dc:date>
    </item>
  </channel>
</rss>

