Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

PRB: You May Encounter Delays When You Are Running Multiple XLANG Schedules That Are Using Correlation


View products that this article applies to.

This article was previously published under Q299975

↑ Back to the top


Symptoms

When an XLANG schedule is using correlation:
  • Significant delays may occur in the time that it takes to complete multiple schedules.
  • The data instance that is being correlated may be moved to the suspended queue.

↑ Back to the top


Cause

This behavior may occur if:
  • The XLANG schedule is configured to run in a pool.

    -and-
  • The number of XLANG schedule instances for that pool exceed the schedule pool size.

↑ Back to the top


Resolution

To resolve this problem, obtain the latest service pack for Windows 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
260910� How to Obtain the Latest Windows 2000 Service Pack
To optimize the performance of XLANG schedules that use correlation, use any of the following methods:
  • Reduce the COM+ pool creation time from 30 seconds.
  • Increase the COM+ pool Max thread.

    NOTE: There is no formula to calculate the perfect pool size.
  • Increase the retry interval.
  • Increase the number of BizTalk worker threads.
  • Use a common queue instead of per-instance queue correlation.

    NOTE: For additional information, review the XLANG Correlation sample in BizTalk Server 2002.

Additional Workaround

Try to modify the receiving channel or port from an adapter, such as the Microsoft BizTalk Adapter for MQSeries, to place all incoming documents into a Microsoft Message Queuing queue so that the XLANG schedule can then refer to this named queue for incoming documents. As a result:
  • Correlation messages can be serviced by the BizTalk Messaging worker threads.

    -and-
  • The worker threads are freed from processing incoming documents.

↑ Back to the top


Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Windows 2000 Service Pack 3.

↑ Back to the top


More information

All documents that BizTalk Messaging will be processing start out in the BizTalk Work Queue. When the BizTalk Messaging engine is processing an XLANG schedule, the BizTalk Messaging engine uses worker threads to pull the XLANG schedules from the BizTalk Work Queue. When these XLANG schedules are set to use the COM+ XLANG schedule pool, the worker thread that is processing the XLANG schedule runs according to the settings for the specific COM+ XLANG schedule pool that is set in the schedule.

The number of the messages that BizTalk Messaging will be processing depends on the COM+ pool size and the number of XLANG schedule instances that are running. When the number of messages in the work queue that are destined for the XLANG schedule exceeds the pool size, the BizTalk worker threads block while attempting to service the Work Queue. The worker threads are blocked waiting for the running schedules to complete. As a result:
  • Any messages that include correlation messages are not delivered to a running XLANG schedule instance in a timely manner.

    -and-
  • The running XLANG schedule may eventually be moved to the suspended queue because there are worker threads available to handle the incoming correlation message.

↑ Back to the top


Keywords: KB299975, kbwin2000sp3fix, kbfix, kbbug

↑ Back to the top

Article Info
Article ID : 299975
Revision : 3
Created on : 8/15/2002
Published on : 8/15/2002
Exists online : False
Views : 460