Exchange 2010 SP1 Rollup 3 v3


After pulling Rollup 3 for Exchange Server 2010 SP1 after an important Blackberry issue on March 15th, the Exchange team claim to have fixed the issue and and re-released the rollup. So, after re-releasing Exchange 2007 SP3 Rollup 3 after fixing potential store corruption issues, Exchange 2010 SP1 now also gets its own rollup re-release. Note that its officially a v3 release; I don’t know what happened to v2.

Exchange 2010 SP1 Rollup 3 v3 raises Exchange 2010′s version number to 14.1.289.7 (initial release was 14.1.289.3). The related knowledgebase article is kb2529939.

You can download Exchange 2010 SP1 Rollup3 v3 here.

Limiting Exchange 2010 SP1 Database Cache


Some time ago, I blogged about on how to limit the amount of memory Exchange 2010 can allocate for database cache. After the introduction of Exchange 2010 Service Pack 1 this didn’t seem to work anymore, as many people reported.

After some investigation, it turns out you also need to set the msExchESEparamCacheSizeMin value for Exchange 2010 SP1’s cache manager to honor the minimum and maximum limits for allocating database cache memory.

To show you this, I’ll first show Exchange 2010 SP1 where I only set msExchESEparamCacheSizeMax. In this example, I’ll use a value of 1024 which corresponds to 32 MB (1024 * 32kb pages). I then turned on Performance Monitor and started monitoring the following MSExchange Database Cache\Information Store counters:

  • Database Cache Size, the current allocated database cache size;
  • Database Cache Size Min, the minimum database cache size;
  • Database Cache Size Max, the maximum database cache size.

After restarting the Information Store and putting on some load on the Exchange server, you will see that the allocated database cache (green line) rises above the configured maximum (blue line).

image

When you check the database cache minimum size (red line), you’ll see it contains a default value, which can be larger than the configured maximum. So apparently, Exchange 2010 SP1’s cache manager contains different logic compared to Exchange 2010 RTM when the (default) minimum value is larger than the configured maximum.

To get Exchange 2010 SP1 to honor the configured msExchESEparamCacheSizeMax value, we need to configure msExchESEparamCacheSizeMin as well. The location is identical, so consult the initial post on how to perform this step; where it reads msExchESEparamCacheSizeMax, use msExchESEparamCacheSizeMin as well.

When we configure a value of 256 for msExchESEparamCacheSizeMin (8 MB) we get the following result after restarting the information store:

image

As you can see, the reported database cache size now nicely flattens out around the 32MB line when under load. Notice that it may go over it a little bit once in a while, but that may have to do with allocating and releasing memory.

Now only one question remains: is this a fault in Exchange 2010 SP1 or expected behavior. At least, it’s different behavior when compared to earlier Exchange versions.

Note that the above information also applies to Small Business Server 2011 since SBS2011 includes Exchange 2010 SP1.

Exchange 2010 SP1 Network Ports Diagram v0.31


It took a while, but I’ve updated the Exchange 2010 SP1 Network Ports diagram I first published in December. Note that the updated version is based on SP1, which you can find in the way to change the address book service for example.

For this version, I’ve included clients, 3rd party SMTP elements, UM and OCS/Lync components and a small list of how to change ports or fix dynamic port settings.

You can download the diagram here. When you got feedback, use the comments or send me an e-mail. Otherwise, feel free the use it; crediting or a reference is appreciated.

Update: Small correction, 135/TPC RPC endpoint mapper from Outlook to Client Access Server was missing (Thanks Maarten).

Update (13Aug11): The Visio can be downloaded through here.

MsExchQueryBaseDN and Exchange 2010 SP1


Note: At TechEd NA 2011 session EXL326, announcing Exchange 2010 SP2 features (e.g. GAL segmentation), Greg Taylor stated that SP1 breaks MsExchQueryBaseDN in Exchange 2010. This might explain the behaviour as described in this article.

As you may know, the msExchQueryBaseDN attribute can be used to limit a user’s scope of the global address book and address searches (also see kb817218). This is helpful for restricting access in environments consisting of multiple organizations or organizations with a substantial  number of mail-enabled objects. The attribute is part of the user object and you configure it by pointing it to a DN of the OU or address list of choice, e.g. OU=sales,DC=company,DC=com. Note that by default msExchQueryBaseDN is empty, so that user will search the whole domain the user’s part of.

With Exchange 2010 SP1, the following unexpected behavior is encountered in Outlook when you’ve set the msExchQueryBaseDN attribute:

msExchQueryBaseDN Set
When msExchQueryBaseDN is set to a valid DN, Outlook WebApp (OWA) will show the default global address with elements from the configured msExchQueryBaseDN downwards. Outlook 2007/2010 will show an empty global address list; other global address lists are invisible. Searching the address book in OWA works, in Outlook it doesn’t because Outlook thinks the address list is empty:

image

Note that if the structure contains many elements, opening the global address list in OWA may result in the following exception:

Url: https://…/owa/forms/premium/SubPageContainer.aspx?ae=AddressList&t=Recipients&subpage=DirectoryView.ascx
User host address: …
User: Blake, Francis
EX Address: /o=…
SMTP Address: francis@eightwone.com
OWA version: 14.1.270.1
Mailbox server: ex2010a.domain.local
Exception
Exception type: Microsoft.Exchange.Data.Directory.ADVlvSizeLimitExceededException
Exception message: Active Directory operation failed on ex2010a.domain.local. There are too many entries which exceed limit of Virtual List View. Additional information: The directory service encountered an unknown failure. Active directory response: 000020EF: SvcErr: DSID-03140350, problem 5010 (UNAVAIL_EXTENSION), data 0

The message indicates it tries to fit too many elements in the list.

MsExchQueryBaseDN cleared
When msExchQueryBaseDN is cleared, Outlook and OWA will show the default global address list as well as other address lists. Also, even though the number of elements is equal or larger than when msExchQueryBaseDN is set, the global address list will show in OWA. So, apparently the number of elements isn’t an issue, which makes the exception you get in OWA when msExchQueryBaseDN is set confusing.

image

After some digging, I think this behavior is related to dropping address list segregation support for on-premises Exchange 2010 and moving several functions and support for it to Exchange 2010 hosting mode. A possible clue can be found in the Exchange 2010 mailbox attribute QueryBaseDNRestrictionEnabled, which description reads:

The QueryBaseDNRestrictionEnabled parameter specifies whether to restrict a user’s ability to view or search for other mailboxes in their organization. If this parameter is set to $true, the global address list (GAL) of the specified mailbox user isn’t populated. Specifically, if the user views the GAL, it will appear empty. If this parameter is set to $false, users can use the GAL to view all mailboxes in their organization, including mailboxes for which this parameter is set to $true. The default value is $false.

This empty GAL behavior when QueryBaseDNRestrictionEnabled is set to $true matches the behavior encountered when setting the msExchQueryBaseDN attribute.

So be advised that while we wait for Service Pack 2, of which the Exchange Team said it will contain some form of (still undisclosed) address list segregation (announcement here),you will run into the issues described above when using msExchQueryBaseDN in an Exchange 2010 SP1 environment.

To bulk clear the msExchQueryBaseDN attribute for a whole domain, execute the following command from the Exchange Management Shell:

Get-Mailbox –ResultSize Unlimited | ForEach {$o=[ADSI](“LDAP://”+$_.distinguishedName);$o.PutEx(1,”msExchQueryBaseDN”,0);$o.SetInfo()}

Updated: Added SP2 announcement mentioning to broken MsExchQueryBaseDN (May 18th).

Exchange 2010 SP1 RU3 pulled: Blackberry issue


For those looking for Exchange 2010 SP1 Rollup 3, you’re in for an unpleasant surprise. Today, Microsoft pulled the Rollup because of issues with Blackberry devices sending duplicate messages.

While Microsoft is working with RIM to identify and solve the issue, the advice is to wait for updates regarding this issue and meanwhile put RU3 implementations on hold. If you’ve already implemented RU3 and are seeing no issues, you can leave it installed.

More information regarding this issue on the (revised) EHLO page here.