When debugging a workflow project that contains Wait For All Workflow Components(Merge), Wait For Selected Workflow Components(Merge) or the Embedded Merge Components, the merge components do not wait for all Dialog Workflow components / branches of execution to complete before proceeding. This can result in duplicate processing to occur in components following the merge component or premature completion of the workflow.
It is important to note that wait components do not wait for any component other than dialog workflow components in the flow.
Review of the debugger logs shows that execution threads are being force removed from the process immediately before the merge component completes.
The default configuration for the debug.workflow- exchange has a short cache time to live configuration which causes the threads of the process to be force deleted from the cache causing the merge to complete because there are no longer any threads to process.
Pre-requisites: Workflow Solution 7.0 SP3
Note:This fix requires the new licensing level generally available in 7.0 SP3 which enables the Add Exchange feature.Prior to 7.0 SP3 enterprise level licensing would be needed.
1 – Launch the Symantec Workflow Designer Configuration and Logging Tool from Start > All Programs > Altiris > Wokflow Designer > Tools menu.
2 – In the Symantec Workflow Designer Configuration and Logging Tool, select the Exchange Configuration Tab. Then click the local.config : LBQ_Local_Defaults configuration in the left pane. In the resulting right pane, select debug.workflow- and click the Remove button. Confirm removal if prompted. CAUTION: Make certain the add button is not disabled BEFORE proceeding. The add button should not be grayed out as shown in the screen shot below. The add button should be clickable. If it is not, support can assist in implementing an internally available Symantec.Workflow.Plugins.SkeletonKey.dll attached to this article to enable the button.
3 – Click the Add button in the local.config : LBQ_Local_Defaults configuration.
4 – In the Select Exchange Type to Add dialog, select InMemoryExchangeConfiguration and click OK.
5 – In the Edit Log Info configuration screen, provide the exchange name debug.workflow- and click OK.
6 – Click Save.
7 – Review the warning and agree by clicking Yes.
8 – Click the Refresh button and verify that the new configuration is in place.
Please see the attached document for instructions with included screen shots.
This issue is corrected in Workflow 7.1. and (5/10/2011) 7.0 MR4