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

Calling all Data Engineers! Fabric Data Engineer (Exam DP-700) live sessions are back! Starting October 16th. Sign up.

Reply
JoshAsh
New Contributor III

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
justinj
New Contributor II

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? 

JoshAsh
New Contributor III

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
New Contributor II

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

KevinConanMSFT
New Contributor III

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

Hey Kevin

Done - 2306200030005070

 

 

Helpful resources

Announcements
Top Solution Authors
Top Kudoed Authors
Users online (11,584)