The threshold value that controls how many times a corrupted message is allowed to pass through the store has been changed
[This topic is intended to address a specific issue called out by the Exchange Server Analyzer Tool. You should apply it only to systems that have had the Exchange Server Analyzer Tool run against them and are experiencing that specific issue. The Exchange Server Analyzer Tool, available as a free download, remotely collects configuration data from each server in the topology and automatically analyzes the data. The resulting report details important configuration issues, potential problems, and nondefault product settings. By following these recommendations, you can achieve better performance, scalability, reliability, and uptime. For more information about the tool or to download the latest versions, see "Microsoft Exchange Analyzers" at http://go.microsoft.com/fwlink/?linkid=34707.]
Topic Last Modified: 2007-01-08
The Microsoft® Exchange Server Analyzer Tool reads the following registry entry to determine the value for the PoisonThreshold value:
If the Exchange Server Analyzer determines that the value for PoisonThreshold does not equal 2, a non-default configuration message is displayed.
Versions of Exchange Server later than Exchange Server 2003 Service Pack 1 implement behavior that helps prevent corrupted or bad messages from causing the Microsoft Exchange Information Store service to stop unexpectedly or from preventing the Microsoft Exchange Information Store service to start successfully.
In Exchange Server 2003 Service Pack 1 or later, messages that cause the Microsoft Exchange Information Store service to stop unexpectedly during conversion from MAPI format to MIME format are tracked. The message ID of the corrupt message is stored in the registry when the crash occurs. If a corrupted message causes the store to stop unexpectedly three times, this information is used to prevent the message from being processed again when the Microsoft Exchange Information Store service is restarted the fourth time.
When the Microsoft Exchange Information Store service stops unexpectedly because of a corrupted message, the PoisonIDs registry value is created at:
Additionally, an administrator can create the PoisonThreshold registry entry. The PoisonThreshold key controls the maximum number of times a message is allowed to pass through the Exchange information store before it is added to the PoisonIDs registry key. By default, this threshold value is 2. To trigger the behavior, the threshold must be exceeded. Therefore, the Microsoft Exchange Information Store service can stop 3 times because of a corrupted message before that message is blocked. For example, if a message is involved in 3 crashes, the message is blocked because three is more than the threshold value of 2.
When a corrupted message event is written to the registry, error event messages (Event IDs 9680 and 9681) will appear in the Application event log. After the Microsoft Exchange Information Store service is successfully started, Exchange then blocks the message and attempts to send a non-delivery report for it. In some cases, Exchange may not be able to send a non-delivery report. In such cases, the blocked message may remain in the queue until it expires. The PoisonIDs registry key holds up to ten message ID values. When the limit of ten is exceeded, and a new corrupted message event is added. The corrupted message event that contains the oldest crash date is removed.
The steps to troubleshoot individual corrupted messages are beyond the scope of the Exchange Server Analyzer. In some cases, Microsoft Product Support Services may be able to help with troubleshooting individual corrupted messages. If you are experiencing problems with Exchange Server 2003 or later shutdowns because of corrupted messages, it may be helpful to enable automatic error reporting on the Exchange Server computer. Error report data is used to find and to fix problems in the software that you use. For more information about how to enable Exchange Error Reporting, see Exchange Error Reporting is disabled
It is recommended that the value for PoisonThreshold be changed backed to its default value of 2.
This article contains information about editing the registry. Before you edit the registry, make sure you understand how to restore the registry if a problem occurs. For information about how to restore the registry, view the "Restore the Registry" Help topic in Regedit.exe or Regedt32.exe.
To correct this error
Open a registry editor, such as Regedit.exe or Regedt32.exe.
Navigate to: HKLM\System\CurrentControlSet\Services\MSExchangeIS\<ExchangeServerName>\Private-<PrivateInformationStoreGUID>**
In the right pane, double-click PoisonThreshold.
In the Value data, enter 2 (decimal) and click OK.
Close the registry editor and restart the Microsoft Exchange Information Store service for the change to take effect.
Before you edit the registry, and for information about how to edit the registry, see the Microsoft Knowledge Base article 256986, "Description of the Microsoft Windows Registry" (http://go.microsoft.com/fwlink/?linkid=3052&kbid=256986).