Archive

Archive for July, 2013

Mailbox Moves to Exchange 2010 Fail at 95%

I recently performed a migration from Exchange 2007 to 2010 in which I was having an issue with some of the mailbox moves. The moves would get to 95% completion and then fail with the following error:

7/24/2013 12:27:34 AM [SERVER] Fatal error MapiExceptionRpcBufferTooSmall has occurred.
Error details: MapiExceptionRpcBufferTooSmall: Unable to Read from stream. (hr=0x80004005, ec=1149)
Diagnostic context:
Lid: 45095 EMSMDB.EcDoRpcExt2 called [length=64]
Lid: 61479 EMSMDB.EcDoRpcExt2 returned [ec=0x0][length=64][latency=46]
Lid: 23226 — ROP Parse Start —
Lid: 27962 ROP: ropOpenStream [43]
Lid: 27962 ROP: ropBufferTooSmall [255]
Lid: 45533
Lid: 45597 StoreEc: 0x47D
Lid: 22785
Lid: 21817 ROP Failure: 0x47D
Lid: 25438
Lid: 21342 StoreEc: 0x47D
at Microsoft.Mapi.MapiExceptionHelper.ThrowIfError(String message, Int32 hresult, SafeExInterfaceHandle iUnknown, Exception innerException)
at Microsoft.Mapi.MapiStream.Read(Byte[] buffer, Int32 offset, Int32 count)
at Microsoft.Mapi.Rule.GetPropertyAsStream(MapiMessage msg, PropTag tag)
at Microsoft.Mapi.Rule.ExtractBinaryPropertyValue(MapiMessage msg, PropValue propValue, PropTag propTag)
at Microsoft.Mapi.Rule..ctor(PropValue[] cols, PropTag[] extraProps, MapiFolder mapiFolder, Boolean classic)
at Microsoft.Mapi.MapiFolder.GetRules(PropTag[] extraProps)
at Microsoft.Exchange.MailboxReplicationService.LocalFolder.Microsoft.Exchange.MailboxReplicationService.IFolder.GetRules(PropTag[] extraProps)
at Microsoft.Exchange.MailboxReplicationService.FolderWrapper.c__DisplayClass1c.b__1b()
at Microsoft.Exchange.MailboxReplicationService.ExecutionContext.Execute(GenericCallDelegate operation)
at Microsoft.Exchange.MailboxReplicationService.FolderWrapper.Microsoft.Exchange.MailboxReplicationService.IFolder.GetRules(PropTag[] extraProps)
at Microsoft.Exchange.MailboxReplicationService.FolderRecWrapper.ReadRules(IFolder folder, PropTag[] extraPtags)
at Microsoft.Exchange.MailboxReplicationService.FolderRecWrapper.EnsureDataLoaded(IFolder folder, FolderRecDataFlags dataToLoad, ReportBadItemsDelegate reportBadItemsDelegate)
at Microsoft.Exchange.MailboxReplicationService.MailboxWrapper.c__DisplayClass4`1.b__0()
at Microsoft.Exchange.MailboxReplicationService.ExecutionContext.Execute(GenericCallDelegate operation)
at Microsoft.Exchange.MailboxReplicationService.MailboxWrapper.LoadFolders[TFolderRec](FolderRecDataFlags dataToLoad, PropTag[] additionalPtags, GenericCallDelegate abortDelegate, ReportBadItemsDelegate reportBadItemsDelegate)
at Microsoft.Exchange.MailboxReplicationService.MailboxWrapper.GetFolderMap[TFolderRec](FolderRecDataFlags dataToLoad, PropTag[] additionalPtags, GenericCallDelegate abortDelegate, ReportBadItemsDelegate reportBadItemsDelegate)
at Microsoft.Exchange.MailboxReplicationService.MailboxCopierBase.GetSourceFolderMap(GetFolderMapFlags flags, FolderRecDataFlags dataToLoad, GenericCallDelegate abortDelegate)
at Microsoft.Exchange.MailboxReplicationService.MailboxMover.FinalSyncCopyAllFolders()
at Microsoft.Exchange.MailboxReplicationService.MoveBaseJob.b__4d(MailboxMover mbxCtx)
at Microsoft.Exchange.MailboxReplicationService.MoveBaseJob.ForeachMailboxContext(MailboxMoverDelegate del)
at Microsoft.Exchange.MailboxReplicationService.MoveBaseJob.FinalSync(Object[] wiParams)
at Microsoft.Exchange.MailboxReplicationService.CommonUtils.CatchKnownExceptions(GenericCallDelegate del, FailureDelegate failureDelegate)
Error context: ——–
Operation: IFolder.GetRules
OperationSide: Source
Primary (a95e73e7-58c0-434f-83c5-25c35191db52)
PropTags: [ReportTime; 1627389955; 1627455491]

This Microsoft KB article was the closest I could find to describing my issue. I was moving mailboxes between local installs of Exchange in the same organization, not from Office 365, so it isn’t exactly my situation but it got me looking at the Junk Folder rules. I used the instructions here to use MFCMAPI to delete the Junk Folder rules. After doing this, the mailbox moved without error.

Apparently, a large number of Junk Folder rules will cause a buffer overflow issue. Though I didn’t try it, you should be able to modify the settings described in the KB article to increase the buffer size and resolve the issue globally. This would be the way to go if you have a lot of mailboxes that are throwing this error. I generally prefer to not modify the default configuration values, especially when there is no explanation of why default values were chosen. In my case, the number of mailbox affected was small enough that I just deleted the Junk Folder rules on each one.

Categories: Mailbox Moves