On Monday, April 16, Microsoft released roll-up update 2 (RU2) for Exchange 2010 SP2. There was nothing strange or unusual in this process because it follows Microsoft’s practice of issuing cumulative roll-up updates for Exchange at regular intervals. On the same day, Microsoft (or rather, the splendidly named Customer Experience Team (CXP) within the Exchange product group) released RU7 for Exchange 2007 SP3. Microsoft has to keep Exchange 2007 updated in the same way as the current release to ensure that its quality remains high, support costs stay under control, and an eye is kept on interoperability with the upcoming Exchange 2013 release, expected towards the end of 2012. No doubt more details will be revealed about interoperability requirements in the future as the Exchange 2013 software winds its way through the release process.
As described in KB2661854, Exchange 2010 SP2 RU2 contains 43 separately documented fixes (by comparison, Exchange 2010 SP2 RU1 contains 58 fixes). The EHLO blog post called your attention to the following:
- KB2696913 You cannot log on to Outlook Web App when a proxy is set up in an Exchange Server 2010 environment
- KB2688667 High CPU in W3WP when processing recurrence items who fall on DST cutover
- KB2592398 PR_INTERNET_MESSAGE_ID is the same on messages resent by Outlook
- KB2630808 EwsAllowMacOutlook Setting Not Honored
- KB2661277 Android/Iphones stuck with 451 during Cross forest proxy in datacenter
- KB2678414 Contact name doesn’t display company if name fields are left blank
I thought that it would be interesting to take a look at all of the fixes to see whether any critical or especially complex problems are addressed in Exchange 2010 SP2 RU2. Below you can find the complete list of fixes complete with pointers to the relevant Microsoft KB, Microsoft’s description of the bug, and some (hopefully pertinent) comments from me. I’ve organized the 43 fixes into a set of categories that I think makes it a little easier to understand where improvements have been made. To begin, here’s a high-level view of what I consider to be the most important or interesting updates:
A couple of the fixes address infinite loops that occur under certain conditions. However, given that Exchange 2010 has been in production for nearly three years now, these seem to be very much edge cases that should not affect the vast majority of servers in operational conditions.
Users of Outlook 2011 for Mac will be happy to see that there are some fixed for Exchange Web Services to match the recently released Office for Mac 2011 SP2 update.
Another set of fixes address various problems with ActiveSync, such as the fix to ensure that if a device updates its operating system (for example, updating an iPhone from iOS 4 to iOS 5), that fact is updated into the list of connected devices maintained for the user account in Active Directory and can therefore be reported upon accurately if an administrator runs the Get-ActiveSyncDeviceStatistics cmdlet. Another fix addresses the CAS proxy problem that emerged after Microsoft released Exchange 2010 SP2 RU1 when it emerged that CAS servers that ran different versions didn’t care for each other’s traffic very much.
My favorite fix is the one that helps the organization that’s been struggling to distribute its 2GB-plus Offline Address Book (OAB). Based on my knowledge of other large organizations, my guess is that this organization has more than 750,000 mailboxes, give or take a hundred thousand. They’ll be happy that Microsoft has now addressed the problem that caused the OAB distribution mechanism to have a brain fart when confronted with such an amount of data.
Another interesting limit that comes to light is the fact that an LDAP query underpinning a dynamic distribution group (DDG) is limited to 32,000 characters. Such a query is a very complex LDAP construct and must have taken enormous care in its coding. I can’t think of such a complex query but I’m sure that someone else can.
I imagine that most if not all of these fixes have already found their way into Exchange Online in Office 365 through the regular update mechanism used by Microsoft to introduce fixes and new features into their cloud service. This usually happens without users being aware of the change as Microsoft deploys updates by transferring mailboxes off Office 365 servers, removing them from service, and then updating the complete box before reintroducing the upgraded server back into the production pool.
Remember that each roll-up update represents a cumulative set of fixes. When you deploy the latest RU, you’re effectively deploying the most up-to-date software that Microsoft can provide that includes all previous fixes from all previous roll-up updates. Remember too that you can only apply a roll-up update after you’ve successfully installed the underlying base software. In other words, you need to deploy Exchange 2010 SP2 before you can apply Exchange 2010 SP2 RU2.
In a nutshell, I don’t see anything earth-shattering in the list of fixes. Exchange 2010 SP2 RU2 appears to be very much a “clean up and make good” release that should be worth a fast deployment, assuming that you do your own due diligence to make sure that none of the fixes reveal an unanticipated problem in your production environment. That means that you should test the new software by installing and running it on servers that mimic your real-life operating environment. If SP2 RU2 works well there, you’ll know that it will work well in production.
Follow Tony’s ramblings @12Knocksinna
|2661277||An ActiveSync user cannot access a mailbox in an Exchange Server 2010 forest||Two Exchange organizations are connected with a trust relationship. An ActiveSync user attempts to access a mailbox in the other organization and this fails because the CAS server logs an incorrect protocol version (in other words, it thinks it can’t do what it’s being asked to do).|
|2678361||The user-agent information about an Exchange ActiveSync device is not updated in an Exchange Server 2010 environment||If a user updates client O/S information on an ActiveSync device that information is not synchronized back to Exchange and the data reported by the Get-ActiveSyncDeviceStatistics cmdlet (which depends on Active Directory) is incorrect.|
|2519806||A meeting request that is sent by an external user or by using a non-Microsoft email system is stamped as Busy instead of Tentative in an Exchange Server 2010 environment||Not a horrible bug, but annoying if you depend on free/busy data to figure out when you have free time.|
|2649499||Updates for a meeting request are sent to all attendees directly in an Exchange Server 2010 environment||Changes made to a meeting request using an ActiveSync device whose attendee list is subsequently changed using Outlook cause updates to go to all attendees rather than the originator having the option to send the update only to those who were added to the meeting. Kind of esoteric, but important to those who live or die by their calendar.|
|2694289||Resource mailbox does not forward meeting request to delegates after one of the delegates’ mailbox is disabled in an Exchange Server 2010 environment||You’d expect that messages would be forwarded to the remaining resource delegates after one of their number has been disabled… it doesn’t happen unless this bug is fixed.|
|2592398||mail messages in the Sent Items folder have the same PR_INTERNET_MESSAGE_ID property in an Exchange Server 2010 environment||Messages created using Outlook template files inherit the same value in the Internet_Message_ID MAPI property. Probably not going to be seen in most deployments.|
|2601301||Customized contact objects revert to the default form after a public folder database replication in an Exchange Server 2010 environment||Again a pretty esoteric bug caused when contact objects stored in public folders that use a custom form are replicated to another database and are then displayed using the standard form.|
|2636883||Returned message items can disappear from the search results view when you use Outlook in online mode in an Exchange Server 2010 environment.||Items that are found in a search and are subsequently marked as “read” disappear from the search results. Most Outlook users work in cached Exchange mode so they won’t have experienced this bug.|
|2673087||Error message when you try to copy the Inbox folder to another folder in Outlook in online mode in an Exchange Server 2010 environment||The RPC Client Access service has a bug that prevents Outlook (MAPI clients) being able to copy the Inbox folder to another folder in online mode. This only happens when rules exist for the Inbox. I’m kind of surprised that it has taken this long for such a bug to be revealed – this must demonstrate the relative lack of people who run Outlook in online mode.|
|2678414||The display name of a contact in address book is empty in an Exchange Server 2010 environment||If you create a contact and insert a value into the company field and don’t put anything into the full name field, the subsequent display name contact entry is blank. In other words, Exchange doesn’t assume that you want to use the company name as the full name.|
General system administration issues
|2625450||You cannot generate an OAB file that is larger than 2GB in an Exchange Server 2010 environment||OK. I’m impressed. It must be a massive organization that hit the 2GB limit for their Offline Address Book and uncovered this bug. Not likely in 99.995% of Exchange 2010 deployments but nice to know that things will work if your company grows to be much larger than it is now.|
|2632201||MAPI_E_INVALID_PARAMETER errors occur when a MAPI application receives notifications in an Exchange Server 2010 environment||Fixes an internal bug where applications register with the Store for notifications about updates that occur at the root folder level.|
|2641753||An email message from an Exchange Server 2003 user is forwarded incorrectly to an external recipient of an Exchange Server 2010 user mailbox||Exchange 2010 treats ANSI strings in messages created on servers running non-English versions as ASCII and problems (duplicate messages, etc.) occur when messages are forwarded from Exchange 2003 users.|
|2652730||You encounter failures when you run the Test-ECPConnectivity cmdlet to test Exchange Control Panel connectivity in an Exchange Server 2010 environment||A bug in the Test-ECPConnectivity cmdlet causes problems when it attempts to connect to a Client Access Server.|
|2657103||CPU resources are used up when you use the Set-MailboxMessageConfiguration cmdlet in an Exchange Server 2010 environment||The CPU is consumed by an infinite loop caused when the cmdlet attempts to write a configuration file out endlessly.|
|2661294||An email address policy does not generate the email addresses of recipients correctly in an Exchange Server 2010 environment||Address policies that generate addresses starting with “sa”, “sb”, or “sc” followed by hex numbers of less than five digits don’t work (Exchange treats them as a special pattern). I can’t quite work out why anyone would want to use such an address policy, but I guess someone does!|
|2664761||DPM protection agent service may stop responding on Exchange Server 2010 servers that are protected by System Center DPM 2010||Deadlock occurs because two threads are contenting for the same Exchange 2010 diagnostic file causing headaches for DPM.|
|2677847||The Microsoft Exchange File Distribution service consumes large amounts of memory in an Exchange Server 2010 environment||The replication handler for OAB consumes a large amount of CPU during OAB synchronization if the MSExchangeFDS service is running on a computer that also has the CAS role installed.|
|2664365||Certain mailbox statistics properties are not updated when a user uses a POP3 or IMAP4 client to access a mailbox in an Exchange 2010 environment||User logons that connect using POP3 or IMAP4 don’t update the LastLogonTime, LastLogoffTime, and LastLoggedOnUserAccount properties so the Get-MailboxStatistics cmdlet can’t display the information.|
Multi-organization and federation issues
|2644920||The Get-FederatedDomainProof cmdlet fails in an Exchange 2010 SP1 environment||Cryptographic problems get in the way of forming a trust between Exchange 2010 SP1 and Microsoft Federation Gateway.|
|2660178||“More than one mailbox has the same e-mail address” error message when you try to manage a mailbox in a tenant organization in an Exchange Server 2010 SP1 Hosting mode environment||Well, hosting mode is now deprecated so this shouldn’t be of concern. The problem happens because ECP uses a global scope when it checks for users rather than looking within just a single (hosted) organization.|
|2672225||A user in a trusted account forest cannot use the EMC to manage an Exchange Server 2010 SP2 server||The SID of the user attempting to run EMC is corrupt or invalid and EMC can’t load, so it can’t manage Exchange…|
Client Access Server issues
|2694280||Whatif switch does not work in the Set-MoveRequest or Resume-MoveRequest cmdlets in an Exchange Server 2010 environment||A small problem in coding… However, the WhatIf switch is probably not hyper-critical for these cmdlets.|
|2696913||You cannot log on to Outlook Web App when a proxy is set up in an Exchange Server 2010 environment||The infamous inter-CAS proxying bug due to invalid versions introduced in Exchange 2010 SP2 RU1 is fixed so that it will no longer occur|
|2665806||Error message when you open an RTF email message that has inline attachments in an Exchange Server 2010 environment||If you import data from a PST using the New-MailboxImportRequest cmdlet that includes RTF messages with inline attachments, Exchange deals with the attachments as if they were OLE objects. Of course, they are not, so the user can’t see the attachments.|
Exchange Web Services (EWS) issues
|2556766||Slow performance when you create many contacts by using Exchange Web Services (EWS) in an Exchange Server 2010 environment||Caused by EWS issuing twice as many LDAP requests as necessary, but the effect is probably only seen when Global Catalog servers are already stressed.|
|2630808||A user can log on to a mailbox by using Outlook for Mac 2011 unexpectedly in an Exchange Server 2010 environment||Outlook for Mac 2011 is based on EWS. A bug in Exchange meant that the user agent string provided by Outlook for Mac was not recognized by Exchange and so disabled users could continue to log on. There’s an easy workaround, but it’s good to resolve these interoperability issues.|
|2641249||Error message when you use the “Folder.Bind” method in an Exchange Server 2010 environment||Binding to a folder with EWS fails when the folder is corrupt for some reason. New error handling handles the problem more elegantly.|
|2681464||An EWS application crashes when it calls the GetStreamingEvents operation in an Exchange 2010 environment||The EWS managed API sends back a compressed stream to the EWS application when the request of the GetStreamingEvents operation times out. However, the EWS application cannot handle the compressed stream and crashes when it tries to parse the stream.|
Outlook Web App (OWA) issues
|2635223||A hidden user is still displayed in the Organization information of Address Book in OWA in an Exchange Server 2010 environment||Hidden users were revealed by Outlook Web App (OWA) if they were direct reports of a manager in the GAL. Basically, when Exchange creates the list of direct reports for OWA to display, it ignored the fact that the user was hidden. Although the hidden user wouldn’t show up in the GAL, being revealed to those who browse through organizational detail is a bad thing as you could reveal something like a new hire that hadn’t yet been generally announced.|
|2644144||A read receipt is not sent when a receiver does not expand a conversation to preview the message by using OWA in an Exchange 2010 environment||Messages sent using OWA that require a read receipt don’t generate the receipt if the recipient reads the message using the OWA reading pane.|
|2649679||Text in tables is displayed incorrectly in the Conversation view in Outlook Web App in an Exchange Server 2010 environment||The CSS file used by OWA to display messages in conversation view doesn’t do a good job of handling tables!|
|2663581||The OK button is not displayed when you change your password in Outlook Web App by using Firefox in an Exchange Server 2010 environment||A problem in the OWA code stops it displaying the OK button when prompting the user with “Your password has been changed. Click OK to logon with the new password”.|
|2685996||Error message when a user who does not have a mailbox tries to move or delete an item that is in a shared mailbox by using Outlook Web App Premium||If a user account doesn’t have an associated mailbox, OWA isn’t able to create the necessary security context to allow the user to move or delete items in a shared mailbox, even if that user has Full Access permission for the mailbox.|
|2688667||W3wp.exe consumes excessive CPU resources on Exchange Server 2010 Client Access servers when users open recurring calendar items in mailboxes by using Outlook Web App or EWS||The problem occurs when OWA or EWS clients attempt to open recurring events after DST changes. The problem is that the DST change makes the time for subsequent events invalid and so an infinite loop occurs when clients attempt to access the calendar items.|
|2694473||File name of a saved attachment is incorrect when you use OWA in Firefox 8 in an Exchange Server 2010 environment||The OWA code for Firefox 8 has a hard-coded value in quotes for attachments that it uses instead of the name provided by the user. So it’s just wrong.|
|2696905||Day of the week is not localized in MailTips in Outlook Web App in an Exchange Server 2010 environment||A localization error causes English language text to appear in MailTips based on days of the week. So you end up with situations like German text surrounding the word “Monday”.|
Public folder issues
|2636387||Event ID 3022 is logged and you cannot replicate a public folder from one Exchange Server 2010 server to another||Hmmm… the description says that the problem occurs because “the size of a certain property, which belongs to the public folder, exceeds the size limit.” No detail is provided as to what the errant property is, so we shall have to remain in the dark here.|
|2645587||An external email message is not delivered to mail-enabled public folders and you do not receive NDR messages in an Exchange 2010 environment||Messages sent to multiple addressees, some of which are public folders, will not be delivered to the PF if the message contains one or more invalid addressees. Exchange stops delivery once it hits an invalid address and never gets to attempt delivering the message to the PF. No NDR is sent so it’s like the delivery was attempted to a black hole.|
|2693078||EdgeTransport.exe process crashes in an Exchange 2010 environment||The Transport system has some problems handling messages with subject lines formatted in the GB2313 or CHINESEBIG5 character sets that cause the process to crash.|
|2694414||The update tracking information option does not work in an Exchange Server 2010 environment||A bug in the Transport system suppresses tracking information so Outlook never receives it.|
|2694474||Incorrect delivery report when you send an email message to a recipient who has configured an external forwarding address in an Exchange Server 2010 environment||Delivery reports don’t work so well when a mailbox is configured to forward mail to an external address and copies of forwarded messages are not retained in the mailbox. This is because message tracking looks in the mailbox rather than checking to see whether the message was transferred to the external recipient.|
|2696857||EdgeTransport.exe process crashes without sending an NDR message when you send a message to a distribution group in an Exchange Server 2010 environment||Messages sent to a dynamic distribution groups (DDG) based on LDAP filters that contain more than 32,000 characters (a very complex filter) crash and you don’t get an NDR. This problem also affects the scenario where you use the DDG as a delivery restriction for another group. Essentially, the limit for an LDAP filter is blown!|