Problematic message may be continually retried and may hold up other messages in connection queue (308350)



The information in this article applies to:

  • Microsoft Exchange 2000 Server

This article was previously published under Q308350
Important This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows Registry

SYMPTOMS

Microsoft Exchange 2000 Server may experience queue backlogs because of unsuccessful message delivery attempts for a single message.

CAUSE

This problem occurs because other mail messages that reside in a connection queue that have the potential to be delivered are held until the problematic message is either delivered or generates a non-delivery report (NDR). Other messages that are assigned to a different connection in that queue might be delivered, provided that the receiving SMTP host can handle multiple inbound connections from a single SMTP server. However, this is not always the case; therefore, all messages in a particular queue can potentially be held because of the problematic message. If the receiving SMTP host can handle multiple connections, only as many messages are stuck in the queue as the setting that is defined in Exchange System Manager for the connection size. By default, this setting is 20 messages . The problematic messages may be valid SMTP messages, but the receiving SMTP host may be returning a non-fatal response code for a fatal error.

RESOLUTION

To resolve this problem, obtain the latest service pack for Microsoft Exchange 2000 Server. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

301378 XGEN: How to Obtain the Latest Exchange 2000 Server Service Pack

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 Microsoft Exchange 2000 Server Service Pack 2.

MORE INFORMATION

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.
This fix re-prioritizes the problematic messages behind messages that have not experienced problems. Queues still retry after there are no other messages to send. The default behavior has been changed to try to deliver a message two times before classifying it as a "problem" message. A new PerMsgFailuresBeforeMarkingAsProblem registry entry also controls this behavior; the registry entry is fully configurable. If the registry value does not exist in the key, the default behavior is for a message to be marked a "problem" message after two unsuccessful delivery attempts.

To add the PerMsgFailuresBeforeMarkingAsProblem registry entry:
  1. Start Registry Editor (Regedt32.exe).
  2. Locate and then click the following key in the registry:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\SMTPSVC\Queuing

    Note The Queuing key is not created by default. You must create this key if it is not present under the SMTPSVC key.
  3. On the Edit menu, click Add Value, and then add the following registry value:

    Value name: PerMsgFailuresBeforeMarkingAsProblem
    Data type: REG_DWORD
    Radix: Decimal
    Value data: This value is the number of times Exchange 2000 tries to deliver a message and fails before a message is marked as a "problem" message. If you set this value to 0, this feature is disabled; setting this value to 0 might cause messages to back up in the queues when Exchange 2000 tries to deliver a problematic message.

  4. Quit Registry Editor.

Modification Type:MinorLast Reviewed:9/3/2004
Keywords:kbbug kbExchange2000preSP2fix kbExchange2000SP2Fix kbfix kbQFE KB308350