Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Main thread of a TI process serves two purposes. It spawns child threads and once spawned it starts to monitor the child threads and wait until all child threads have finished.

Monitoring of the threads runs in two phases, first during the initiation of the child threads and second during their execution. The main thread watches for timeouts during both phases to prevent zombie threads running on the server.

Thread Initiation Phase

The main thread has the option to participate in data processing. However, doing so might compromise its capability to identify time out scenarios. This is because the main thread itself could time out, preventing it from accessing the code that oversees the child threads.

Monitoring during initiation phase of child threads allows for quicker identification of failures that might happen in prolog code of the TI process. These issues might be caused for example by invalid data source or by a slowly performing view. The timeout for this phase is configurable in }APQ Settings cube.

Thread Execution Phase

Monitoring during execution of the child threads will allow to detect situation when data processing (metadata, data or epilog) is not able to finish in timely fashion preventing long running threads. The timeout for thread execution is configurable in }APQ Settings cube.

  • No labels