Mailbox synchronization is set up to a target or source Exchange Server 2010
The sync works as expected
However, the MTA (Mail Target Agent) or MSA (Mail Source Agent) logs show delays and entries similar to the following:
19/10/2010 05:45:23 CSession::Logon TraceMsg 4800 Logging on to the mailbox '/o=MSEXCH2010org01/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=Migration Mailbox01' (Server: 'exchange.domain.com', user: 'domain\qmm_service_account').
19/10/2010 05:45:38 CAeAddrBookImpl::SetSearchPath Warning -2147467259 The operation failed. - MAPI_E_CALL_FAILED (Microsoft Exchange Address Book) Low level error: 0x0 File: 'aeaddrbook.cpp' Line: '65'
19/10/2010 05:45:53 CAeAddrBookImpl::SetSearchPath Warning -2147467259 The operation failed. - MAPI_E_CALL_FAILED (Microsoft Exchange Address Book) Low level error: 0x0 File: 'aeaddrbook.cpp' Line: '65'
It has also been seen where the error "MAPI_E_NETWORK_ERROR" can occur with the same resolution clearing the error, and allowing the agent to continue processing.
The CAS server event log shows "Event 2195", source "MsExchange ADAccess", similar to the following:
Process Microsoft.Exchange.AddressBook.Service.exe (PID=1234) User 'Sid~Domain\qmm_service_account~RCA~false' has gone over budget '170' times for component 'RCA' within a one minute period. Info: 'Policy:DefaultThrottlingPolicy_guid,Parts:AD:169;'. Threshold value: '100'.
OR
Process Microsoft.Exchange.AddressBook.Service.exe (PID=1234) User 'Sid~Domain\qmm_service_account~RCA~false' has gone over budget '152' times for component 'RCA' within a one minute period. Info: 'Policy:[Fallback], Parts:AD:151;'. Threshold value: '100'.
Exchange 2010 has a default throttling policy as well as a built-in fallback throttling policy.
These policies limit the number of RPC connections an account can make to the CAS server.
Since QMM mail agents work with hundreds of objects, and also expand address books every time they start working on a collection, the QMM service account can exceed the policy threshold.
WORKAROUND 1
Create and apply a new Throttling Policy to the service account:
New-ThrottlingPolicy QuestThrottlePolicy
Set-ThrottlingPolicy QuestThrottlePolicy -PowerShellMaxConcurrency $null -RCAMaxConcurrency $null -RCAPercentTimeInAD $null -RCAPercentTimeInCAS $null -RCAPercentTimeInMailboxRPC $null -EWSMaxConcurrency $null -EWSPercentTimeInAD $null -EWSPercentTimeInCAS $null -EWSPercentTimeInMailboxRPC $null -EWSMaxSubscriptions $null -EWSFastSearchTimeoutInSeconds $null -EWSFindCountLimit $null
(replace <svcAccountName> with the Service acocunt mailbox name in the cmdlet bellow)
get-user <svcAccountName> | set-mailbox -ThrottlingPolicy QuestThrottlePolicy
WORKAROUND 2
It has been seen that creating a new throttling/custom policy for the service account does not apply and the default policy continues to be the policy applied.
Modify the Default Throttling policy in Exchange 2010 to set RCAMaxConcurrency, RCAPercentTimeInAD, RCAPercentTimeInCAS and RCAPercentTimeInMailboxRPC values to $null:
Get-ThrottlingPolicy | where {$_.IsDefault -eq $true} | Set-ThrottlingPolicy -RCAMaxConcurrency $null -RCAPercentTimeInAD $null -RCAPercentTimeInCAS $null -RCAPercentTimeInMailboxRPC $null
WORKAROUND 3
In scenarios that involve a source Exchange 2010 server and a service account from the target domain, Exchange applies a built-in fallback throttling policy, which cannot be modified. As a workaround, use a service account from the source domain.
© ALL RIGHTS RESERVED. Terms of Use Privacy Cookie Preference Center