Thursday, July 16, 2015

Fatal error TooManyMissingItemsPermanentException has occurred


During a recent transition from Exchange 2010 to 2013, a user’s mailbox failed to get migrated:

[PS] C:\>Get-MoveRequestStatistics “nuno mota”

DisplayName          StatusDetail
-----------          ------------
Nuno Mota            FailedOther

 

Ok, “FailedOther” does not provide much information... Let us get a report of the actual move request to try to find out exactly what happened:


[PS] C:\>Get-MoveRequestStatistics “nuno mota” -IncludeReport | FL

(...)

7/13/2015 10:40:23 AM [server1] A missing item was encountered: Missing Item (IPM.Note.EnterpriseVault.Shortcut) Subject:"Tania   resume", Folder:"Outbox"
 
7/13/2015 10:40:23 AM [server1] A missing item was encountered: Missing Item (IPM.Note.EnterpriseVault.Shortcut) Subject:"Netting Off entry 2011 March  28", Folder:"Outbox"
 
7/13/2015 10:40:23 AM [server1] A missing item was encountered: Missing Item (IPM.Note.EnterpriseVault.Shortcut) Subject:"Data for weekly report -  11/March/2011", Folder:"Outbox"
 
7/13/2015 10:40:23 AM [server1] A missing item was encountered: Missing Item (IPM.Note.EnterpriseVault.Shortcut) Subject:"FW: 2011 JAN ANALYSIS  revised based on ultimate parent name", Folder:"Outbox"
 
7/13/2015 10:40:23 AM [server1] A missing item was encountered: Missing Item (IPM.Note.EnterpriseVault.Shortcut) Subject:"PAYMENT RECONCILIATION  as on 16/2/2011", Folder:"Outbox"
 
7/13/2015 10:40:23 AM [server1] A missing item was encountered: Missing Item (IPM.Note.EnterpriseVault.Shortcut) Subject:"PORTFOLIO CAL  ACC _EOP  LIST CALCULATION   as on 07/01/2011", Folder:"Outbox"
 
7/13/2015 10:40:24 AM [server1] Mailbox contents verification complete: 139 folders, 254510 items, 2.829 GB (3,037,189,613 bytes).
 
7/13/2015 10:40:25 AM [server1] Stage: FinalIncrementalSync. Percent complete: 95.
 
7/13/2015 10:40:25 AM [server1] Fatal error TooManyMissingItemsPermanentException has occurred.
 
 
Ok, so from the output above we can have a clearer view of what is happening. At the end of the report we see a TooManyMissingItemsPermanentException error is preventing Exchange from completing the move request, and the reason for that is all the EnterpriveVault stubs that seem to be missing from the mailbox’s Outbox folder.
 
When we create a mailbox move request, or batch, we can use the BadItemLimit parameter to specify the maximum number of bad items that are allowed before the request fails. A bad item is a corrupt item in the source mailbox that cannot be copied to the target mailbox. However, also included in the bad item limit are missing items. Missing items are items in the source mailbox that cannot be found in the target mailbox when the request is ready to complete.
 
So, if we are comfortable ignoring this error and possibly leaving a few bad items behind, we can either increase the BadItemLimit by running:

Set-MoveRequest “nuno mota” –BadItemLimit 50
Resume-MoveRequest “nuno mota”

 
Valid input for BadItemLimit is an integer or the value unlimited. The default value is 0, which means the request will fail if any bad items are detected. If you set this value to 51 or higher, you also have to use the AcceptLargeDataLoss switch, otherwise the cmdlet will fail.

If too many bad items are detected, consider using the New-MailboxRepairRequest cmdlet to attempt to fix corrupted items in the source mailbox, and try the request again.


Alternatively, we can update the ContentVerificationMissingItemThreshold setting in the MsExchangeMailboxReplication.exe.config file which in Exchange 2013 is located by default at C:\Program Files\Microsoft\Exchange Server\V15\Bin.

If you opt for changing this setting, you have to restart the restart Microsoft Exchange Mailbox Replication service and then resume the move request as above.

Monday, July 13, 2015

Exchange ActiveSync v16 is coming!

The last major version of Exchange ActiveSync (EAS) was v14 which came as part of Exchange 2010 (EAS v14.1 came with Exchange 2010 SP1). Almost 6 years after it is now time for an update to EAS and the release of a new version, v16.
 
At the time of writing this tip, it is unclear if EAS v16 will be part of Exchange 2016... Like with other features, Microsoft will be releasing it first to Office 365 and then eventually enable it in the on-premises Exchange 2016 builds...
 
This new version of EAS is planned to contain three new major capabilities:
  1. Improved calendar reliability by reworking the calendar workflow. This will most likely go unnoticed by most end users but will, hopefully, help with those appointment nightmares some Exchange admins experience with 3rd-party mail clients;
  2. Calendar attachments. While currently calendar items synchronized with EAS cannot include attachments such as agendas, presentations or spreadsheets, in version 16 these will also sync;
  3. The drafts folder cannot be synced with the current version of EAS, but it will be in EAS v16. This means we can start composing an email on our EAS device and continue editing it on our desktop, for example, or vice-versa.
To check which ActiveSync protocol versions your Exchange Online mailbox supports, go to https://testconnectivity.microsoft.com and run the Exchange ActiveSync test from the Office 365 tab. From the test’s output, look for MS-ASProtocolVersions:
 
Like with previous EAS version changes, v16 will require the client to support it. It seems that iOS 9 will at least support the calendar features when it is released this fall.
 
As always, please note that the information provided here might change when EAS v16 is released.