Documents that are being sent from BizTalk Messaging to
BizTalk Orchestration can become stranded in the private MSMQ queue that
temporarily houses these documents in the event of a catastrophic failure such
as a power outage. When these documents are stranded in the private MSMQ
queues, they will remain stranded even after the BizTalk Server is restored to
working condition.
When you bind a BizTalk Messaging Port to an XLANG schedule,
the mechanism by which documents are passed to the schedule is referred to as
the Orchestration Activation Component (OAC). The OAC writes the document that
was being processed by the BizTalk Messaging engine to a private MSMQ queue,
and then instantiates the schedule that is bound to the Messaging Port. The
schedule in turn retrieves the document from the MSMQ queue. Once the schedule
picks up the document from the queue, the queue is deleted. If a catastrophic
failure occurs after the OAC writes the document to the MSMQ queue but before
the OAC instantiates the corresponding schedule, the document will become
stranded in the queue even after the server is restored.
This problem
can occur because the OAC does not persist a record of the process of writing a
document to the MSMQ queue. Therefore in the event of a failure, upon recovery
the OAC does not know that it is supposed to instantiate a schedule to pick up
any documents that it may have previously written to the MSMQ
queue.
Service Pack Information
To resolve this problem, obtain the latest
service pack for Microsoft BizTalk Server 2002. For additional information,
click the following article number to view the article in the Microsoft
Knowledge Base:
Hotfix Information
To resolve this problem, obtain
the latest service pack for Microsoft BizTalk Server 2002. For additional
information, click the following article number to view the article in the
Microsoft Knowledge Base:
WARNING: If you use Registry Editor incorrectly, you may cause serious
problems that may require you to reinstall your operating system. Microsoft
cannot guarantee that you can solve problems that result from using Registry
Editor incorrectly. Use Registry Editor at your own risk.
| 1. | Start Registry Editor (Regedt32.exe). |
| 2. | Locate, and then click the following key in the registry: \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\BizTalk Server\1.0\XLANG Scheduler |
| 3. | On the Edit menu click Add Key , and then add the following registry key to the registry: Value name: SafeInstantiateAllSkeds
Radix: Decimal
Value data: 1 |
| 4. | Quit Registry Editor. |
This registry entry will cause the OAC to maintain a
record of all documents that it writes to the private MSMQ for pickup by the
corresponding XLANG Schedule. This will allow the OAC to ensure that it can
instantiate a schedule for any documents that are stranded in the event of a
catastrophic failure.
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 Microsoft BizTalk Server 2002 Service Pack
1.