A message takes longer than expected to be delivered or expires prematurely in Message Queuing 3.0 on Windows Server 2003 Service Pack 1 (909401)



The information in this article applies to:

  • Microsoft Message Queue Server (MSMQ) 3.0
  • Microsoft Windows Server 2003 SP1

Important This article contains information about how to modify the registry. Make sure to back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows registry

SYMPTOMS

On Microsoft Windows Server 2003 Service Pack 1 (SP1) or on a later version of Windows Server 2003, you experience one of the following problems when you try to send a message in Microsoft Message Queuing 3.0:
  • The message takes longer than expected to be delivered.
  • The message expires prematurely and is not delivered.

CAUSE

The wait time that Message Queuing 3.0 uses to re-establish a connection after the connection has been closed is set in Microsoft Windows Server 2003. This problem occurs because the default wait time has been increased in Windows Server 2003 SP1.

Before SP1, Message Queuing 3.0 would wait 4 seconds before re-establishing a closed connection. After you apply SP1 or a later version of Windows Server 2003, Message Queuing 3.0 waits 60 seconds before re-establishing a closed connection.

RESOLUTION

Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall your operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.

To resolve this problem, change the wait time that Message Queuing 3.0 will use to re-establish a closed connection. The wait time is set in the DWORD WaitTime registry entry.

To change the value of the DWORD WaitTime registry entry, following these steps:
  1. Click Start, click Run, type regedit, and then click OK.
  2. Locate and then click the following subkey:

    HKEY_LOCAL_MACHINE\Software\Microsoft\MSMQ\Parameters

  3. On the Edit menu, click New, and then click DWORD Value.
  4. Type WaitTime, and then press ENTER.
  5. Right-click WaitTime, and then click Modify.
  6. In the Edit DWORD Value dialog box, type the time in milliseconds that you want for the wait time, and then click OK. For example, type 10000 for 10 seconds.
  7. On the File menu, click Exit.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

MORE INFORMATION

The longer default wait time in Windows Server 2003 SP1 could cause delays when Message Queuing sends messages. This problem is more likely to occur if Message Queuing must re-establish the connection frequently.

In certain cases where messages are using a time-to-reach-queue value or a time-to-be-received value, the longer default wait time could cause a message to expire prematurely. When this problem occurs, the message is not delivered. This problem may occur if the time-to-reach-queue value or the time-to-be-received value is less than 60 seconds.

Note We increased the default wait time in Windows Server 2003 SP1 to prevent Active Directory or Domain Name System (DNS) from been queried too frequently.

Modification Type:MajorLast Reviewed:2/1/2006
Keywords:kbfix kbQFE kbprb KB909401 kbAudITPRO kbAudDeveloper