3

Closed

Runtime Hang, Resolved by Enabling Debug Options

description

Thanks for this great component. I really love it in V1.5. Great work!
 
Using V1.5 on a 8-way 64-bit system with SQL Server 2008. The component hangs after processing 0-40000 rows. Turning on all logging options made it stable, and completed my 70K record dimension load.
Playing with the logging options the component seems more stable, and I think I have found a logging configuration that made it stable.
 
For the component to be stable I have to turn on the logging options:
-Show detailed BK matching information in output window
-Show detailed output information in the output window
 
There may be other combinations that work too.
 
Having other logging options turned on, I get this log that indicates to mee there's an infinite loop occuring. Also the 8-way system runs at 50% CPU during this infinite loop state.
 
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: ED 0/0(comp), SS 1/9376 - 0 matched
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: 0 II, 0 UC, 9375 NW, 0 DL, 0 S1, 0 S2E, 0 S2N
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread 'ProcessKey (16)' (in ProcessKey): Sleeping - no work.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread 'ProcessKey (19)' (in ProcessKey): Sleeping - no work.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread '' (ProcessInput): Sleeping, waiting for workunits to be consumed.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread 'ProcessKey (17)' (in ProcessKey): Sleeping - no work.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread 'ProcessKey (23)' (in ProcessKey): Sleeping - no work.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread '' (ProcessInput): Sleeping, waiting for workunits to be consumed.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread 'ProcessKey (18)' (in ProcessKey): Sleeping - no work.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread 'ProcessKey (20)' (in ProcessKey): Sleeping - no work.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread 'ProcessKey (22)' (in ProcessKey): Sleeping - no work.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread 'ProcessKey (21)' (in ProcessKey): Sleeping - no work.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread '' (ProcessInput): Sleeping, waiting for workunits to be consumed.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread 'ProcessKey (16)' (in ProcessKey): Sleeping - no work.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread 'ProcessKey (19)' (in ProcessKey): Sleeping - no work.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread '' (ProcessInput): Sleeping, waiting for workunits to be consumed.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread 'ProcessKey (23)' (in ProcessKey): Sleeping - no work.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread 'ProcessKey (17)' (in ProcessKey): Sleeping - no work.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread 'ProcessKey (18)' (in ProcessKey): Sleeping - no work.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread 'ProcessKey (20)' (in ProcessKey): Sleeping - no work.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: ED 0/0(comp), SS 1/9376 - 0 matched
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: 0 II, 0 UC, 9375 NW, 0 DL, 0 S1, 0 S2E, 0 S2N
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread 'ProcessKey (22)' (in ProcessKey): Sleeping - no work.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread '' (ProcessInput): Sleeping, waiting for workunits to be consumed.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread 'ProcessKey (21)' (in ProcessKey): Sleeping - no work.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread 'ProcessKey (16)' (in ProcessKey): Sleeping - no work.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread 'ProcessKey (19)' (in ProcessKey): Sleeping - no work.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread '' (ProcessInput): Sleeping, waiting for workunits to be consumed.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread 'ProcessKey (23)' (in ProcessKey): Sleeping - no work.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread 'ProcessKey (17)' (in ProcessKey): Sleeping - no work.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread '' (ProcessInput): Sleeping, waiting for workunits to be consumed.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread 'ProcessKey (18)' (in ProcessKey): Sleeping - no work.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread 'ProcessKey (20)' (in ProcessKey): Sleeping - no work.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread 'ProcessKey (22)' (in ProcessKey): Sleeping - no work.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread 'ProcessKey (21)' (in ProcessKey): Sleeping - no work.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread 'ProcessKey (16)' (in ProcessKey): Sleeping - no work.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread 'ProcessKey (19)' (in ProcessKey): Sleeping - no work.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread '' (ProcessInput): Sleeping, waiting for workunits to be consumed.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread 'ProcessKey (23)' (in ProcessKey): Sleeping - no work.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread '' (ProcessInput): Sleeping, waiting for workunits to be consumed.
Information: 0x0 at Load LGD, Kimball Method Slowly Changing Dimension: Thread 'ProcessKey (17)' (in ProcessKey): Sleeping - no work.
Closed by

comments

toddmcdermid wrote Feb 22, 2010 at 9:39 PM

Playing with the debug output options will just hide whatever race condition is occurring for you. Thanks for the dump though - that does point out that the ED is completed, and the SS should just be pushed straight through. Good place to start looking...

askaar wrote Feb 23, 2010 at 12:28 AM

Having no debug options, resulted in a 100% failure on loading the dimension. I tried at least 10 times. With the debug option I mentioned earlier, there has been a 100% sucess rate. I don't know how setting different debug options can affect the stability of the component but is seems that is is in some way.

toddmcdermid wrote Aug 22, 2010 at 1:16 AM

I've reviewed the thread management and backpressure handling inside the component, and it was flawed. I'm still not sure how the debugging options made it work for you - but all the better. This issue should be fixed in v1.6.

TrevorU wrote Mar 9, 2012 at 5:19 PM

Not sure if this project is still being supported, but I'm experiencing this issue same on SQL2008R2, and the regardless of the selection debugging options, the component still hangs. Does anyone know if the open source version is still being supported? Thanks!!