iOS 6.1 Rapid growth in transaction logs, CPU use, and memory consumption in Exchange Server 2010 (KB2814847)

Knowledge-BaseВсем привет!

Apple очередным обновлением iOS до версии 6.1 опять подвергает проблемам администраторов Exchaneg серверов.

Rapid growth in transaction logs, CPU use, and memory consumption in Exchange Server 2010 when a user syncs a mailbox by using an iOS 6.1-based device.

 

Update: Apple выпустила обновление до iOS 6.1.1 исправляющее данную ошибку. В любом случае, статья по блокировке отдельных ActiveSync устройств будет полезна на будущее: How to Block iOS 6.1 ActiveSync Devices from Exchange Server 2010

 

Symptoms:

When a user syncs a mailbox by using an iOS 6.1-based device, Microsoft Exchange Server 2010 Client Access server (CAS) and Mailbox (MBX) server resources are consumed, log growth becomes excessive, memory and CPU use may increase significantly, and server performance is affected.
Additionally, Office 365 Exchange Online users receive an error message that resembles the following on an iOS 6.1-based device:

Cannot Get Mail

The connection to the server failed.

The only option available to users is OK.

 

EAS Mailbox Logging

When you review an EAS Mailbox log, you may see the following:

RequestHeader : 
POST /Microsoft-Server-ActiveSync/default.eas?User=user1@contoso.com&DeviceId=ApplDMPFXZABDFHW&DeviceType=
iPad&Cmd=MeetingResponse HTTP/1.1
Connection: keep-alive
Content-Length: 55
Content-Type: application/vnd.ms-sync.wbxml
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: en-us
Authorization: ********
Host: mail.contoso.com
User-Agent: Apple-iPad2C1/1002.141
X-MS-PolicyKey: 2429156470
MS-ASProtocolVersion: 14.1
 
RequestBody :
<?xml version="1.0" encoding="utf-8" ?>
<MeetingResponse xmlns="MeetingResponse:">
      <Request>
            <UserResponse>1</UserResponse>
            <CollectionId>5</CollectionId>
            <RequestId>5:5</RequestId>
            <InstanceId>2013-02-06T22:00:00.000Z</InstanceId>
      </Request>
</MeetingResponse>
MeetingResponseCommand_OnExecute_Exception : 
Microsoft.Exchange.Data.Storage.WrongObjectTypeException: The object was bound to a wrong 
object type. ObjectClass = IPM.Schedule.Meeting.Request, Intended Type =
Microsoft.Exchange.Data.Storage.CalendarItem.
   at Microsoft.Exchange.Data.Storage.StoreObject.DownCastStoreObject[T]()
   at Microsoft.Exchange.Data.Storage.ItemBuilder.ItemBind[T](StoreSession session, StoreId
storeId, Schema expectedSchema, MapiMessageCreator mapiMessageCreator, ItemBindOption
itemBindOption, ICollection`1 propertiesToLoad)
   at Microsoft.Exchange.Data.Storage.ItemBuilder.ItemBind[T](StoreSession session, StoreId id,
Schema expectedSchema, ICollection`1 propertiesToLoad)
   at Microsoft.Exchange.Data.Storage.CalendarItem.Bind(StoreSession session, StoreId id)
   at Microsoft.Exchange.AirSync.MeetingResponseCommand.GetOccurenceId(StoreObjectId
mailboxRequestId, ExDateTime instanceId)
   at Microsoft.Exchange.AirSync.MeetingResponseCommand.ProcessCommand()
   at Microsoft.Exchange.AirSync.MeetingResponseCommand.OnExecute()
AccessState : 
Allowed
AccessStateReason : 
Global
ResponseHeader : 
HTTP/1.1 200 OK
MS-Server-ActiveSync: 14.2
ResponseBody : 
<?xml version="1.0" encoding="utf-8" ?>
<MeetingResponse xmlns="MeetingResponse:">
      <Result>
            <RequestId></RequestId>
            <Status>4</Status>
      </Result>
</MeetingResponse>

 

In Exchange Server on-premises installations only, you receive a text that resembles the following. This text is continually repeated in the IIS log files on the CAS.

2013-02-06 23:41:59 192.168.137.11 POST /Microsoft-Server-ActiveSync/default.eas User=user1@contoso.com&
DeviceId=ApplDMPFXZABDFHW&DeviceType=iPad&Cmd=Sync&Log=[truncated] 443 user1@exchlab.com 192.168.137.246 
Apple-iPad2C1/1002.141 200 0 0 187
 
2013-02-06 23:41:59 192.168.137.11 POST /Microsoft-Server-ActiveSync/default.eas User=user1@contoso.com&
DeviceId=ApplDMPFXZABDFHW&DeviceType=iPad&Cmd=MeetingResponse&Log=[... Error:WrongObjectTypeException …] 
443 user1@exchlab.com 192.168.137.246 Apple-iPad2C1/1002.141 200 0 0 140

 

 

Workaround:

To work around this issue, do not process Calendar items such as meeting requests on iOS 6.1 devices. Also, immediately restart the iOS 6.1 device.
If the problem continues, use one of the following methods to work around the issue.

 

Method 1: Remove and re-create the device partnership

To do this, follow these steps:

  1. On the iOS 6 device, instruct the user to remove the Exchange account.
  2. On a system that is running the Exchange Management Shell, the Exchange Server administrator can run the Remove-ActiveSyncDevice cmdlet to remove the device on the server-side. See the Remove-ActiveSyncDevice topic in Microsoft TechNet online.
  3. Wait 30 minutes, and then instruct the user to add the Exchange account to the device. Advise users not to process Calendar items on the device.

 

Method 2: Create a custom throttling policy for iOS 6.1 users

To do this, follow these steps:

  1. The Exchange Server administrator can use Log Parser Studio to identify iOS 6.1 users in the organization. For more information, see the Log Parser Studio details in the «More Information section.
  2. Create a custom throttling policy to apply to the iOS 6.1 users. For more information about how to create and apply a custom throttling policy, see theNew-ThrottlingPolicy topic in TechNet online.
    Apply the following values by using a range of 10 to 30, based on organizational needs and testing:
    • EASPercentTimeInCAS
    • EASPercentTimeInMailboxRPC
    • EASPercentTimeInAD
  3. Apply this throttling policy to the iOS 6.1 users who were identified in step 1. Use the Set-ThrottlingPolicyAssociation topic from TechNet online.
  4. Notify users that they may receive the «Cannot Get Mail error that is noted in the «Symptoms» section if they try to act on Calendar items.
    Note The throttling policy will reduce the effect of the issue on server resources. However, users who receive the error should immediately restart their devices and stop additional processing of Calendar items.

 

Method 3: Block iOS 6.1 users

You can block iOS 6.1 users by using the Exchange Server 2010 Allow/Block/Quarantine feature. For more information about this feature, see the following Exchange Team Blog post:

Controlling Exchange ActiveSync device access using the Allow/Block/Quarantine list

Also, for updated information about how to use Exchange Management Shell for Allow/Block/Quarantine, see the following Microsoft website: 

New-ActiveSyncDeviceAccessRule

 

 

 

More Information:

To identify this issue in your organization, use one of the methods in this section. Office365 Exchange Online users can use only the EAS Mailbox logging option and look for repeated instances of the Status 4 response that is noted in the «Symptoms» section. 

Method 1: Obtain EAS mailbox logging for a user

To obtain EAS Mailbox logs, follow the steps in the following article in the Microsoft Knowledge Base: 

2461792 How to collect ActiveSync device logs to troubleshoot sync issues between mobile devices and Exchange Online

Exchange Administrators can use the following Exchange Management Shell cmdlets to collect logs:

  • Set-CASMailbox -ActiveSyncDebugLogging $true
  • Get-ActiveSyncDeviceStatistics-GetMailboxLog
Method 2: Collect and parse IIS logs

Check for the recurrence pattern of Cmd=Sync and Cmd=MeetingResponse together with Error:WrongObjectTypeException, as was noted in the «Symptoms» section.
You can also use Log Parser Studio to parse by using the following query:

SELECT 
   Cs-username AS User,
   MyDeviceId AS DeviceId,
   COUNT(*) AS Hits
USING
   EXTRACT_VALUE(cs-uri-query,'DeviceId') AS MyDeviceId
FROM '[LOGFILEPATH]' 
WHERE  cs-uri-query LIKE '%Error:WrongObjectTypeException%' 
GROUP BY DeviceId,User
ORDER BY Hits DESC

Читайте также:

Добавить комментарий