Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
JoshAsh
Frequent Visitor

Request to perform an external distributed computation has failed with error...

When trying to run a realistic production query on Fabric Warehouse that we currently run on SQL Server I get

 

Msg 15802, Level 16, State 16, Line 1
Request to perform an external distributed computation has failed with error "Assertion failed: Invalid child output DOP".

 

This was the first query we tried..

 

I have done some playing, if i remove any construct in the query using COUNT(DISTINCT ...) there is no failure.

 

 

5 REPLIES 5
KevinConanMSFT
Microsoft Employee
Microsoft Employee

@JoshAsh could you open a support case for this please?  We'd like to look deeper into this.

Hey Kevin

Done - 2306200030005070

 

 

justinj
Microsoft Employee
Microsoft Employee

Hi Josh,

The queries from SQL Server would not execute as is on Synapse WH as the TSQL has some changes. 

do you have a sample of the script you are trying to execute? 

I've had to change column and table names for security reasons.

 

 

SELECT 
		    COUNT(DISTINCT CASE WHEN UPPER(fee.blah) LIKE '%AMEP%' THEN c.blah ELSE NULL END) as DISTINCT_BLAH_COUNT,
			MAX(c.blah) as blah

		FROM dbo.TABLE1 a
		INNER JOIN dbo.TABLE2 d ON a.blah = d.blah
		INNER JOIN dbo.TABLE3 b ON a.blah = b.blah
		INNER JOIN dbo.TABLE4 dt ON a.blah = dt.blah
		INNER JOIN dbo.TABLE5 att ON a.blah = att.blah
		INNER JOIN dbo.TABLE6 c ON a.blah = c.blah
		INNER JOIN dbo.TABLE7 fc ON a.blah = fc.blah
		INNER JOIN dbo.TABLE8 age ON a.blah = age.blah
		LEFT JOIN  dbo.TABLE9 ft ON a.blah = ft.blah
		LEFT JOIN  dbo.TABLE10 fee ON a.blah = fee.blah
		LEFT JOIN  dbo.TABLE11 ccs ON a.blah = ccs.blah

		WHERE 
			d.blah in ('Centre','Discontinued') 
		   AND dt.blah >= 2019
		GROUP BY	
			a.blah,
			c.blah,
			fc.blah,
			dt.blah,
			dt.blah

 

 

But this is the simplest version I can make that is erroring. It's not really a complex query as you can see

Another errror happening occasionally is

Request to perform an external distributed computation has failed with error "Assertion failed: Degree of partitioned parallelism can only be 1 when the child operator distribution is full or when the session dop is 1".

justinj
Microsoft Employee
Microsoft Employee

This is happening due to the COUNT(DISTINCT xyz) function as the data is distributed on Synapse Warehouse. 

 

Can you try using APPROX_COUNT_DISTINCT instead and let me know if that works?

APPROX_COUNT_DISTINCT (Transact-SQL) - SQL Server | Microsoft Learn

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.