<?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 ConcurrentAppendException when loading different tables in Lakehouse, but at the same time in Data Engineering</title>
    <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Delta-ConcurrentAppendException-when-loading-different-tables-in/m-p/4591325#M7615</link>
    <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.fabric.microsoft.com/t5/user/viewprofilepage/user-id/608280"&gt;@FelixL&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;we wanted to check in as we haven't heard back from you. Did our solution work for you? If you need any more help, please don't hesitate to ask. Your feedback is very important to us. We hope to hear from you soon.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank You.&lt;/P&gt;
&lt;P&gt;&lt;LI-WRAPPER&gt;&lt;/LI-WRAPPER&gt;&lt;/P&gt;</description>
    <pubDate>Sat, 01 Mar 2025 17:15:16 GMT</pubDate>
    <dc:creator>V-yubandi-msft</dc:creator>
    <dc:date>2025-03-01T17:15:16Z</dc:date>
    <item>
      <title>Delta ConcurrentAppendException when loading different tables in Lakehouse, but at the same time</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Delta-ConcurrentAppendException-when-loading-different-tables-in/m-p/4418120#M7347</link>
      <description>&lt;DIV&gt;&lt;SPAN&gt;I am facing an issue when running multiple concurrent loads into a Fabric Lakehouse, that doesnt really make sense to me. I have developed a PySpark framework for running my loasds in parallell, utilizing the notebookutils runMultiple function. This means that I fire off multiple jobs concurrently from the same session. Each job then loads separate tables, using some variations of Merge, Overwrite and Replace functionality.&lt;/SPAN&gt;&lt;DIV&gt;&amp;nbsp;&lt;DIV&gt;&lt;SPAN&gt;The problem I am facing is that I get "ConcurrentAppendException" errors whenever jobs time it so that they load their respective tables &lt;U&gt;within seconds of each other. &lt;/U&gt;Note: they never load the same tables, but they all load to tables within the same lakehouse.&amp;nbsp;&lt;/SPAN&gt;&lt;DIV&gt;&amp;nbsp;&lt;DIV&gt;&lt;SPAN&gt;I would assume that&amp;nbsp;"ConcurrentAppendException" should not be raised when I am not running any concurrent appends to the same tables. The error messages I see also point to other tables than the one actually being loaded, which makes me belive that there is something fishy going on.&lt;/SPAN&gt;&lt;DIV&gt;&amp;nbsp;&lt;DIV&gt;&lt;SPAN&gt;Example below...&amp;nbsp;&lt;/SPAN&gt;&lt;DIV&gt;&amp;nbsp;&lt;DIV&gt;Job 1 is loading table:&amp;nbsp;&lt;STRONG&gt;gold_sales_dimension_customervisittypeno (&lt;U&gt;success)&lt;/U&gt;&lt;/STRONG&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Job 2 is loading table: &lt;STRONG&gt;gold_sales_dimension_planogramno (&lt;U&gt;error)&lt;/U&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;DIV&gt;&amp;nbsp;&lt;DIV&gt;As highlighted in the below error message from &lt;U&gt;&lt;STRONG&gt;job 2,&lt;/STRONG&gt;&lt;/U&gt; it fails due to concurrent append, and refers to the "target table" of &lt;U&gt;&lt;STRONG&gt;&lt;U&gt;&lt;STRONG&gt;job 1.&amp;nbsp;&lt;/STRONG&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;/U&gt;&lt;DIV&gt;&amp;nbsp;&lt;DIV&gt;Error message from &lt;U&gt;&lt;STRONG&gt;job 2&lt;/STRONG&gt;&lt;/U&gt; (i.e. the job loading table&amp;nbsp;gold_sales_dimension_planogramno)&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;Error message: [DELTA_CONCURRENT_APPEND] ConcurrentAppendException: Files were added to the root of the table by a concurrent update. Please try the operation again.
 
Conflicting commit: {"timestamp":1739965911476,"operation":"UPDATE","operationParameters":{"predicate":["(TargetTable#642166 = gold_sales_dimension_customervisittypeno)"]},"readVersion":1535,"isolationLevel":"Serializable","isBlindAppend":false,"operationMetrics":{"numRemovedFiles":"1","numRemovedBytes":"1585","numCopiedRows":"0","numDeletionVectorsAdded":"0","numDeletionVectorsRemoved":"0","numAddedChangeFiles":"0","executionTimeMs":"2083","numDeletionVectorsUpdated":"0","scanTimeMs":"1541","numAddedFiles":"1","numUpdatedRows":"1","numAddedBytes":"1585","rewriteTimeMs":"541"},"tags":{"VORDER":"true"},"engineInfo":"Apache-Spark/3.5.1.5.4.20241007.4 Delta-Lake/3.2.0.5","txnId":"dc53e62a-437f-47ef-ac62-dddb5850fdd7"}
Refer to xttps://docs.delta.io/latest/concurrency-control.html for more details.&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The entire framework is runnign fine in Azure Synapse Analytics, and has for years. I have never seen issues like these there... And the jobs do not (sohuld not) touch each others tables, ever. So I dont understand where this comes from.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;One of my scheduled jobs, loading to some 80 unique tables, easily get 5-6 failed loads due to concurrent appends like above.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Anyone else seen anything like this?&lt;/P&gt;</description>
      <pubDate>Wed, 19 Feb 2025 16:53:27 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Delta-ConcurrentAppendException-when-loading-different-tables-in/m-p/4418120#M7347</guid>
      <dc:creator>FelixL</dc:creator>
      <dc:date>2025-02-19T16:53:27Z</dc:date>
    </item>
    <item>
      <title>Re: Delta ConcurrentAppendException when loading different tables in Lakehouse, but at the same time</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Delta-ConcurrentAppendException-when-loading-different-tables-in/m-p/4418267#M7350</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.fabric.microsoft.com/t5/user/viewprofilepage/user-id/608280"&gt;@FelixL&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Fabric Lakehouse uses a queuing system where concurrency depends on the capacity SKU (e.g., F2 allows 1 concurrent job; F32 allows 8).&lt;/P&gt;&lt;P&gt;If your capacity tier is too low, concurrent writes to any table in the Lakehouse may trigger conflicts, as jobs compete for limited resources&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;For 10 concurrent jobs, use at least F16 (burst factor 3 → 32×3 = 96 cores).&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Upgrade SKUs to match workload parallelism requirements using Microsoft’s formula&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Required SKU Tier = Ceil(Total Concurrent Jobs / Burst Factor)&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://learn.microsoft.com/en-us/fabric/data-engineering/spark-job-concurrency-and-queueing" target="_blank"&gt;https://learn.microsoft.com/en-us/fabric/data-engineering/spark-job-concurrency-and-queueing&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Try&amp;nbsp;partition by natural keys to prevent overlapping file operations&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 19 Feb 2025 19:07:10 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Delta-ConcurrentAppendException-when-loading-different-tables-in/m-p/4418267#M7350</guid>
      <dc:creator>nilendraFabric</dc:creator>
      <dc:date>2025-02-19T19:07:10Z</dc:date>
    </item>
    <item>
      <title>Re: Delta ConcurrentAppendException when loading different tables in Lakehouse, but at the same time</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Delta-ConcurrentAppendException-when-loading-different-tables-in/m-p/4418404#M7354</link>
      <description>&lt;P&gt;Thanks for your reply, but I think we are talking sbout different things here..?&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;I am running one single spark session, using 12 vcores, in a F64/P1 capacity. This one small session then writes to 80 tables in my lakehouse, using a "run multiple" notebooks concurrency of 3.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;I should have enormous compute overhead - and I am not seeing any concurrency throttling or job queuing.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;What I am seeing are error messages saying that jobs try to write to delta tables they are not actually touching. This either needs a good explanation, or appears to be some bug in the lakehouse-onelake sync layer..?&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 19 Feb 2025 22:28:53 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Delta-ConcurrentAppendException-when-loading-different-tables-in/m-p/4418404#M7354</guid>
      <dc:creator>FelixL</dc:creator>
      <dc:date>2025-02-19T22:28:53Z</dc:date>
    </item>
    <item>
      <title>Re: Delta ConcurrentAppendException when loading different tables in Lakehouse, but at the same time</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Delta-ConcurrentAppendException-when-loading-different-tables-in/m-p/4418441#M7357</link>
      <description>&lt;P&gt;Makes sesnse now, its not a capacity issue. Let me dig down further. My gut feeling says it is related to , but let me come back on this&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;"isolationLevel":"Serializable"&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 19 Feb 2025 23:13:51 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Delta-ConcurrentAppendException-when-loading-different-tables-in/m-p/4418441#M7357</guid>
      <dc:creator>nilendraFabric</dc:creator>
      <dc:date>2025-02-19T23:13:51Z</dc:date>
    </item>
    <item>
      <title>Re: Delta ConcurrentAppendException when loading different tables in Lakehouse, but at the same time</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Delta-ConcurrentAppendException-when-loading-different-tables-in/m-p/4423065#M7450</link>
      <description>&lt;P&gt;I am an idiot. After further debugging i found the issue, and it was all on my side. So Fabric/Lakehouse works as intended in this case. Thank you for helping me, and sorry for wasting your time. :'(&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(the conflict appears in a shared/log table, that I did not think of being a potential culprit..)&lt;/P&gt;</description>
      <pubDate>Sat, 22 Feb 2025 14:19:15 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Delta-ConcurrentAppendException-when-loading-different-tables-in/m-p/4423065#M7450</guid>
      <dc:creator>FelixL</dc:creator>
      <dc:date>2025-02-22T14:19:15Z</dc:date>
    </item>
    <item>
      <title>Re: Delta ConcurrentAppendException when loading different tables in Lakehouse, but at the same time</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Delta-ConcurrentAppendException-when-loading-different-tables-in/m-p/4423082#M7451</link>
      <description>&lt;P&gt;Thanks&amp;nbsp;&lt;a href="https://community.fabric.microsoft.com/t5/user/viewprofilepage/user-id/608280"&gt;@FelixL&lt;/a&gt;&amp;nbsp;for sharing the findings. Happy to help anytime&lt;/P&gt;</description>
      <pubDate>Sat, 22 Feb 2025 14:41:57 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Delta-ConcurrentAppendException-when-loading-different-tables-in/m-p/4423082#M7451</guid>
      <dc:creator>nilendraFabric</dc:creator>
      <dc:date>2025-02-22T14:41:57Z</dc:date>
    </item>
    <item>
      <title>Re: Delta ConcurrentAppendException when loading different tables in Lakehouse, but at the same time</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Delta-ConcurrentAppendException-when-loading-different-tables-in/m-p/4570152#M7498</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.fabric.microsoft.com/t5/user/viewprofilepage/user-id/608280"&gt;@FelixL&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;a href="https://community.fabric.microsoft.com/t5/user/viewprofilepage/user-id/913195"&gt;@nilendraFabric&lt;/a&gt;&amp;nbsp;, has provided an e&lt;SPAN&gt;xact&amp;nbsp;&lt;/SPAN&gt;solution to your issue. Could you kindly confirm whether your problem has been resolved or if you are still encountering any difficulties? Your feedback is valuable to the community as it assists others who might face a similar issue.&lt;/P&gt;
&lt;P&gt;Thank you, &lt;a href="https://community.fabric.microsoft.com/t5/user/viewprofilepage/user-id/913195"&gt;@nilendraFabric&lt;/a&gt;&amp;nbsp;, for your valuable insights.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If the issue is resolved, please mark it As the &lt;STRONG&gt;Accepted solution&lt;/STRONG&gt; to help others in the community find the answer more easily.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Yugandhar.&lt;/P&gt;</description>
      <pubDate>Tue, 25 Feb 2025 12:54:28 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Delta-ConcurrentAppendException-when-loading-different-tables-in/m-p/4570152#M7498</guid>
      <dc:creator>V-yubandi-msft</dc:creator>
      <dc:date>2025-02-25T12:54:28Z</dc:date>
    </item>
    <item>
      <title>Re: Delta ConcurrentAppendException when loading different tables in Lakehouse, but at the same time</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Delta-ConcurrentAppendException-when-loading-different-tables-in/m-p/4586114#M7526</link>
      <description>&lt;P&gt;I am getting similar error "&lt;SPAN&gt;ConcurrentAppendException"&lt;/SPAN&gt; when trying to update delta tables from lakehouse using parallel operations. Queries from parallel operations very simple like "update table set status = {value} where id ={id}" - where id is different in every operation. But still it is failing with error &lt;SPAN&gt;ConcurrentAppendException. I am loogin through various forums and found suggestions like -&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;1. retry mechanism - this is not feasible as on every transaction I can't add this code&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;2. batch updates - not in scope as part of parallely executing pipeline I am running these notebooks with update queries&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;3. Partitioning - for partitioning id column is primary key column so it will create lot of files&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;4. Isolation level - This is not sure but I think, In Microsoft Fabric, Delta tables in the Lakehouse use &lt;STRONG&gt;Snapshot Isolation&lt;/STRONG&gt; by default. But I haven't found any way to change this to serializable.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;5. In delta.io they are indicating to use more specific filter as per partition but in my case I don't have much data in table and also no other column to make it specific filter. As I am directly doing it on primary key&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Seems like very basic requirement in Data engineering but struggling to achieve it in Microsoft Fabric. Do we have any solution on this?&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 26 Feb 2025 14:06:30 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Delta-ConcurrentAppendException-when-loading-different-tables-in/m-p/4586114#M7526</guid>
      <dc:creator>Fabamik</dc:creator>
      <dc:date>2025-02-26T14:06:30Z</dc:date>
    </item>
    <item>
      <title>Re: Delta ConcurrentAppendException when loading different tables in Lakehouse, but at the same time</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Delta-ConcurrentAppendException-when-loading-different-tables-in/m-p/4591325#M7615</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.fabric.microsoft.com/t5/user/viewprofilepage/user-id/608280"&gt;@FelixL&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;we wanted to check in as we haven't heard back from you. Did our solution work for you? If you need any more help, please don't hesitate to ask. Your feedback is very important to us. We hope to hear from you soon.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank You.&lt;/P&gt;
&lt;P&gt;&lt;LI-WRAPPER&gt;&lt;/LI-WRAPPER&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 01 Mar 2025 17:15:16 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Delta-ConcurrentAppendException-when-loading-different-tables-in/m-p/4591325#M7615</guid>
      <dc:creator>V-yubandi-msft</dc:creator>
      <dc:date>2025-03-01T17:15:16Z</dc:date>
    </item>
  </channel>
</rss>

