So had a bunch of errors on my Exchange 2010 server today, namely:
Event ID 9646 MSExchangeIS
Mapi session "cd83bc42-1bff-459e-9db2-558cc68478b9" exceeded the maximum of 500 objects of type "objtFolder".
The error doesn’t give much away but basically what its saying is:
A user with GUID “ccd83bc42-1bff-459e-9db2-558cc68478b9” has more than 500 open folders in a single session, because exchange only allows 500 open folder connections (for a cached mailed) at a time its going to screw with the user and in our case not automatically update the users folders in Outlook 2010. Please note this is different from open MAPI connections to the mailbox.
Note this has been edited with help from Mark Daley who stated:
the objtfolder is an ‘Open Item Limit’ ie the limit of the number of folders that are being opened in a single session, not the number of connections being made to the mailbox which is a session limit See (http://technet.microsoft.com/en-us/library/ff477612(v=exchg.141).aspx). This limit is the total for the session so if a user has 250 folders in their own mailbox and say 300 in a shared mailbox then the limit will be breached. The other thing that should be explained in that this is only likely to occur when the mailboxes are cached (shared and non-shared) as it is the consequence of caching that is causing the limit to be breached because each folder is opened / counted during the mailbox sync process. Therefore turning off caching mode for either the primary mailbox or just the shared mailbox is another fix for this issue.
You may be wondering how a user could have more than 500 connections, well in our case the user had two mailboxes attached to their own mailbox and all the folders (inbox, outbox etc) together added up to more than 500 folders.
You can scan a mailbox with Power Shell to determine the number of folders:
Get-MailboxFolderStatistics USER1@BohemianGrove.co.uk | Sort-Object ItemsInFolder -Descending | ft Name, FolderPath > C:\temp\countFolders.csv
So lets say you see the errors on your Exchange 2010 server but don’t know who’s having the issue, you find Users MAPI GUID’s by running the following Power Shell command:
get-mailbox -Resultsize Unlimited | ft Name,ExchangeGuid -AutoSize > c:\temp\msExchMailboxGuid.txt
Once you know who the user is what can you do, well there’s four options in my mind:
1) Tell the user to re-organise the folder structure,
2) Remove some of the extra Mailboxes from a users mail profile if possible (you could add a extra profiles to Outlook, making Outlook prompt on start up),
3) Do not cache the mailbox in Outlook or simply do not cache the additional mailbox in Outlook.
4) Change Exchange 2010 to allow more than 500 folder to be open at a single time for cached mailboxes!
To proceed with 4) you’d need to do the below but be warned if large quantities of users connected with plus of 500 folders your server performance will suffer drastically:
Log onto all your mailbox servers and create the following registry key:
- Click Start, click Run, type regedit, and then click OK.
- Expand the following registry subkey:
- Right-click ParametersSystem, point to New, and then click Key.
- Type MaxObjsPerMapiSession, and then press ENTER to name the new sub key.
- Right-click MaxObjsPerMapiSession, click New, and then click DWORD Value.
- Enter the object type as specified in the event description, and then press ENTER.
- Right-click the object type that you entered, and then click Modify.
- In the Value data box, type the number of objects to which you want to limit this entry, and then click OK.