How public folder referrals have changed in Exchange 2007
Published Mar 15 2007 05:55 PM 3,919 Views

EDIT: This post has been edited on 5/19/2008 to add a note about pointing Exchange 2003 mailbox stores to Exchange 2007.

Exchange 2007 saw a fundamental change in the elimination of a couple of well-known key concepts in prior versions: Administrative Groups and Routing Groups. The elimination of the routing group, and consequently the routing group connector, changes the way that public folder referrals are handled in Exchange 2007.

Previously, the public folder server would call into the routing engine to gather routing cost information, and use this information to control content referrals and pick servers for backfill requests. Now, the server connects directly to Active Directory to get the inter-site costs among all the public folder servers.

However, there's a new problem: There's no way to indicate on an AD site connector that you don't want public folder referrals to happen. No longer can you check a checkbox and stop PF referrals from happening from one corner of your company to another. But don't panic! The server still implements a method to ensure client referrals don't end up going to the wrong end of the planet. The server has the notion of other servers which are "too expensive" to accept referrals. As of this writing, that "too expensive" threshold is 500. Yes, that really needs to be configurable, and we will examine doing that in a future release.

We still have the feature where you can specify a specific cost list for a single server. Instead of calling into AD, we'll simply read this cost list and use whatever data it provides. Unlisted servers implicitly have an "infinite" cost, so this provides a simple method for disallowing referrals from a specific server to a set of other servers.

This new source of cost information also controls the backfill picker. Previously, the code always queried for cost information once (an hour) and cached it. This cached info was used to prepare client referrals and to pick servers to ask for backfill. Now that we're querying AD instead of the routing engine, all users of that cost information benefit from the new source and all can see the same information.

It's important to note that Exchange 2007 exclusively uses the AD site connector cost information, while pre-Exchange 2007 exclusively uses the data from the routing group connectors. Since all Exchange 2007 servers appear to be in a single routing group from pre-Exchange 2007's point of view, without some additional configuration you may experience truly bizarre referrals for users whose default public folder database is on a pre-Exchange 2007 server, but all the replicas live solely on Exchange 2007 servers. In this specific case, the pre-Exchange 2007 server will perceive all the Exchange 2007 servers as having the same cost (because they're all in the same routing group). Clients will get referrals all over the place. To prevent this from happening, you should set all default PFDBs for all mailbox DBs to point to Exchange 2007 as soon as you've replicated content to any Exchange 2007 servers. This will put all clients on the same referral page and you won't end up with clients in Brazil being referred to servers in Belarus. NOTE: If you have Exchange 2003 users that use OWA, you should not point the Exchange 2003 mailbox database to an Exchange 2007 public folder database, until you move all users that need OWA public folder access to Exchange 2007. To read more about this scenario, please see this blog post.

- Dave Whitney

6 Comments
Version history
Last update:
‎Mar 15 2007 05:55 PM
Updated by: