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.

A third-party MAPI client may stop responding when a Global Catalog server goes offline and the referral service is disabled on the Exchange server


View products that this article applies to.

Symptoms

In an Exchange mail server environment, a third-party MAPI client makes a name resolution call to a Global Catalog server. However, the third-party MAPI application may stop responding if the GC server goes offline or stops responding during the call. This issue occurs if you have disabled the referral service on the Exchange server.

↑ Back to the top


Cause

This problem can occur if the MAPI application uses a single thread for name resolution calls to a Global Catalog (GC) server. If the GC that is currently being used goes offline during a name resolution call, that thread can end up in an infinite wait state for a remote procedure call (RPC) response from the server. However, a response will not be received because the GC is offline.

↑ Back to the top


Resolution

When a thread is in the infinite wait state, the only resolution is to restart the application. To avoid this issue, use one of the following methods:
  • Enable the Exchange Referral Service.
  • Make name resolution calls in separate worker threads as needed for a third-party MAPI application.
  • Implement call timeouts for the work threads in a third-party MAPI application.

↑ Back to the top


More information

When RFR is enabled, the client connects to the Exchange server for a GC referral. The client then connects directly to the referred GC. When that GC goes offline, the client application will time-out the connection and then fall back to communicating with the Exchange server and receive a new referral. The client will then connect to the new GC if GC reconnect is enabled in the MAPI profile.

When RFR is disabled, the client connects directly to the Exchange server for all NSPI calls, and the Exchange server will proxy all requests up to the GC server. When the GC server that is being used goes offline, the client keeps a connection open to the Exchange server and has no knowledge that the GC server has gone offline. The connection does not time-out because the connection endpoint, the Exchange server, has not gone offline. Therefore, a response to the last RPC request is never received by the client, and the MAPI client always waits.

This is a particular timing issue and will not always occur when a GC server is taken offline. This issue occurs only when a GC that is actively being used goes offline during a name resolution call.

For more information about preventing Client-side hangs, visit the following Web site: To enable or disable the Exchange Referral Service, use the "No RFR Service" registry entry in the following registry key:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSExchangeSA\Parameters

Note To disable the referral service, set the registry entry to 1. To enable the referral service, set the registry entry to 0. By default, the registry entry is set to 0.

↑ Back to the top


Keywords: KB957718, kbtshoot, kbexpertiseadvanced, kbprb

↑ Back to the top

Article Info
Article ID : 957718
Revision : 2
Created on : 11/17/2008
Published on : 11/17/2008
Exists online : False
Views : 359