4
Vote

Merge Component throwing internal error arithmetic overflow

description

Hi,
I've migrated a set of packages to a new server that use v1.5 of the SSIS Dimension Merge SCD Component. However, these packages now throw the following error when executed:
 
Error: 2011-05-12 08:46:00.37
Code: 0x00000000
Source: Kimball SDC DimFund Kimball Method Slowly Changing Dimension
Description: Internal error (Arithmetic operation resulted in an overflow.) in ProcessInput determining thread count.
End Error
 
They had previously worked without error on two different environments. Has this issues been raised before or is it a known issue?
 
I'm running on Windows Server R2 Enterprise with .NET 3.5 and 4 installed if that helps.
 
Regards,
Kevin

comments

alexbates wrote Jul 13, 2011 at 3:03 PM

We are seeing the same problem in R2. We are currently doing more tests to determine if this is a x64 issue

marvin_bobo wrote Jul 20, 2011 at 3:46 PM

Has anyone found a resolution for this issue? I am seeing it on 1 of my servers. I have tried uninstall, installs, and upgrading to v1.6 from v1.5 without luck. Works on all but one server (have over 20 servers between dev/test/prod). I can't seem to find the problem and cannot reproduce in test.

marvin_bobo wrote Jul 20, 2011 at 3:47 PM

Oh - running on Win2k3, Win2k8, and SQL 2008 R2 on all environments, all x64.

marvin_bobo wrote Jul 21, 2011 at 6:34 PM

For those that are tracking this issue - found a solution which adjusts and fixes the issue. In the Performance Tab of the component change the Thread option to Manual instead of Automatic and set the thread count to a number relative to the number of cores in the system. In this case it is a 4 way 8 core box so I set it to 8 and the performance stayed the same and no error. I will be testing with a different range of numbers to see what setting is best and then also try the option to turn off the threading management. HTH.

toddmcdermid wrote Aug 16, 2011 at 5:20 PM

Sorry for being "away" for a while. This error indicates that your server has a LOT of cores... I'm having difficulty thinking of how that could cause problems. But the error occurs in a place in the code where it's counting cores to spin up worker threads based on the number of cores it detects on your machine. Marvin's workaround to manually specify thread counts will circumvent this automatic detection that shows the error.
But for interest's sake - how many cores does your machine have? Is it virtualized?

marvin_bobo wrote Aug 16, 2011 at 6:12 PM

Forgot to post - tested with a number of settings for Threads Count:
-1: Completed ok and it appears to use about 16 threads using perfmon - Let SSIS control the number of threads (is that correct?)
0 - Error - it is 2x number of cores which in this case is 64, but would not complete
2 - Very slow but completed and no errors
4 - Perfomrance Ok - completed
8 - Performance Ok - Completed
16 - Quickest Performance - Completed
32 - Error at this setting

jakubk wrote May 10 at 2:24 AM

We just deployed a complex solution that utilised this component onto the production system and were greeted with hanging packages and this error.

Is there still no fix?

I'll manually set everything to 16 I think as an interim solution and then rewrite all the packages to use a merge join + checksum instead