Forum Discussion
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
- justinj
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?
- JoshAshFrequent Visitor
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.blahBut 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
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
Microsoft Employee
JoshAsh could you open a support case for this please? We'd like to look deeper into this.
- JoshAshFrequent Visitor
Hey Kevin
Done - 2306200030005070