The Exchange Customer Experience (CXP) team really came up with the goods when they shipped Exchange 2010 SP2 RU3. Among the usual collection of bug fixes and updates (42 in total in this roll-up update), two important changes stand out that deserve further commentary.
The first is the improvement made for Outlook clients that go through a cross-site transition as a result of a mailbox move or a datacenter failover. Microsoft realized that these scenarios weren’t handled particularly gracefully soon after they shipped Exchange 2010 and planned to include more elegant code in Exchange 2010 SP1. However, the code proved to be less elegant and more buggy than expected and Microsoft removed it from SP1 shortly before they finalized the contents of the service pack.
SP1 shipped in August 2010. It might seem strange that we should have to wait for nearly two more years before the problems in the cross-site code could be worked through and validated. It’s also abnormal for Microsoft to include major new pieces of functionality in a roll-up update as service packs are the normal vehicle for updates that change the way that the product works. However, in this case, development priorities conspired to slow the finalization of the code and so the decision came about to include it in SP2 RU3 so as to make the code available to customers faster than if Microsoft had to wait to include it in Exchange 2010 SP3 (which hasn’t yet been formally announced).
The new code forces Outlook clients to “rediscover” its MAPI endpoint after cross-site mailbox moves or database transitions. Rediscover means that Exchange “tells” Outlook to update its profile with the optimum endpoint and doesn’t leave a client in a situation where it attempts to connect to a CAS array or server in a different site. The effect is that Outlook finds (with AutoDiscover) the best endpoint and updates its profile.
The second change is to do with the way versioning works in the Recoverable Items folder. As you’re probably aware, Exchange 2010 introduced a new version of the “dumpster” by replacing the view used to reveal deleted items in previous versions of Exchange with the Recoverable Items folder and its set of sub-folders. Exchange 2010 also introduced single item recovery and litigation hold as part of its line-up of compliance features. For example, when a user is placed on litigation hold, Exchange tracks all changes made in their mailbox to ensure that the user can’t attempt to cover their tracks by removing information that might be of interest to those who conduct discovery searches. Tracking changes also means that different versions of items are retained and the problem came about when customers discovered that many thousands of copy-on-write events occurred in their environments. A copy-on-write should occur when a new version of an item is created. Analysis discovered that a bug meant that an excessive number of copy-on-writes were happening, usually because of automatic saves performed by Outlook or an application, rather than waiting until the user had completed updating an item and had saved it.
Further analysis discovered that calendar logging also generated excessive updates, so much so that the Recoverable Items quota for a mailbox might be exceeded. Changes have also been made to reduce the number of calendar version updates that occur.
It’s unusual to find such interesting changes in an Exchange roll-up update. Remember that these updates arrive every six weeks or so and typically contain between 40 and 60 individual bug fixes across the entire product. Thankfully the Exchange developers are good at communicating about important updates in the EHLO blog.
I guess that some will also wonder why so many bugs still need to be fixed in a product like Exchange 2010 that has been in use for almost three years. The answer is that Exchange is a huge product with tens of millions of lines of code that is used in many different and interesting ways by customers around the world as well as Microsoft’s own internal deployment and in the Exchange Online () hosted environment. Given the breadth and variety of the way that Exchange is used, is it still a mystery why bugs bubble up? I don’t think so… and although it can still be difficult for administrators to track and understand all the changes and test the roll-up updates adequately before deploying the new code into production, it’s surely better to face that challenge rather than to be left with a buggy product that never gets updated.
The next RU is on its way and should arrive in four weeks or thereabouts. Will you be ready for the next mini-service pack?
Follow Tony @12Knocksinna