CodeTwo Base.title

Adjusting the maximum number of open objects that a MAPI client can use at the same time

Problem:

Click on one of the problems below to get a solution:

Solution:

MAPI session limits.

In Exchange Server, the number of message objects that can be opened by a single MAPI session is limited to 250. This limitation can cause some problems with syncing of folders that contain a large number of elements. For example, this problem may occur when a user changes the category of 500 elements (in one step) in the source folder. Because of the limitation described above, part of the changed elements will not be synchronized in the target folder, and the following error(s) will occur in the software's log files:

Error: Failed to open message from table notification. MAPI_E_CALL_FAILED

or

Error: Failed to open message from table notification. MAPI_E_TOO_BIG

This problem can be solved by adding a value in the Registry Editor which contains a new number of maximum messages objects that are allowed to be opened in a single MAPI session. Make sure that the account you use belongs to the local Administrators group and then follow these steps:

  1. Go to the Registry Editor (regedit) of each of your MS Exchange Servers where the MS Exchange Information Store service is running (Mailbox role servers).
  2. Locate the registry key:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem
  3. Right-click ParametersSystem, choose New, then click Key.
  4. Type MaxObjsPerMapiSession and press Enter.
  5. Now right-click MaxObjsPerMapiSession, choose New and click DWORD Value.
  6. Type the object type (for example objtMessage) and press Enter to name the entry that changes the default maximum number of objects.
  7. Right-click the entry that you created and click Modify.
  8. Go to the Value data box and type the new maximum number of objects to which you want to limit this entry, then click OK.
  9. Apply the changes:
    1. Exchange Server 2003: Reboot the machine.
    2. Exchange Server 2007: Changes should be recognized automatically after 5 minutes, if not reboot the machine.
    3. Exchange Server 2010 and newer: restart the MS Exchange Information Store service or reboot the machine.

 You can learn more from the articles on Microsoft Technet:

There might be another situation (associated with exceeding the default Exchange limits) in which your software is not working properly (e.g. while trying to work with over 250 mailboxes at the same time). In such a case, the following phrase can be found in the log files of your product:

MAPI_E_FAILONEPROVIDER (0x8004011d)

In order to properly configure your Exchange server follow all the steps below:

  1. Open the following registry key:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem
  2. Add the following DWORD entries with a value greater than 10 000 (which is the default limit):
    • Maximum Allowed Exchange Sessions Per Service
    • Maximum Allowed Sessions Per User
    • Maximum Allowed Service Sessions Per User
  3. Add a DWORD entry named Maximum Allowed Concurrent Exchange Sessions Per Service with a decimal value higher than 16.
  4. Add a DWORD entry named Disable Session Limit with the value of 0.
  5. Apply the changes:
    1. Exchange Server 2003: Reboot the machine.
    2. Exchange Server 2007: Changes should be recognized automatically after 5 minutes, if not then reboot the machine.
    3. Exchange Server 2010 and newer: Restart MS Exchange Information Store service or reboot the machine.

Additionally, if you are running CodeTwo Exchange Sync, configure it to use multiple RPC connections while contacting your Exchange server:

  1. Go to the Registry Editor (regedit) of your machine where CodeTwo Exchange Sync is installed.
  2. Locate the following registry key:
    • In 32-bit operating systems:
      HKEY_LOCAL_MACHINE/Software/CodeTwo/ExchangeSync
    • In 64-bit operating systems:
      HKEY_LOCAL_MACHINE/Software/Wow6432Node/CodeTwo/ExchangeSync
  3. Right-click on it, choose New, then click DWORD Value.
  4. Name it UseSeparateRPCConnections and press Enter.
  5. Once again right-click on the registry value and choose Modify:
    1. change Base to Decimal
    2. modify Value Data to 1.
  6. Click OK to confirm the changes.
  7. Restart the synchronization service.
  8. Go through the service log files and check if you see the following entry:
    Profile section set with CONNECT_USE_SEPARATE_CONNECTION flag

MS Exchange Server 2010 and 2013/2016 Throttling settings.

Regardless of the above-described MAPI limits, MS Exchange Server 2013 will apply throttling to the synchronization actions of CodeTwo Exchange Sync. A similar issue may also occur in some installations of Exchange Server 2010. Such limits are becoming visible if 32 or more folders are configured in your synchronization tasks. This issue is visible in the software service log files as the following error messages (logged for the mailboxes above the limit):

Error: Failed to open message store "<MailboxName>\<FolderName>"/ MAPI_E_FAILONEPROVIDER (0x8004011d). module: FoldersGroupCreator.cpp, line: 259, func: CFoldersGroupCreator::operator ()

To overcome this issue an administrator has to increase the RcaMaxConcurrency limit. This problem is described in two (this and this) MS Technet articles. Below you can find an example of how to apply unlimited RcaMaxConcurrency settings.

  1. Log on to your MS Exchange Server machine.
  2. Run the ems Exchange Management Shell.
  3. Execute the cmdlet below to create a new throttling policy. Change "YourNewPolicyName" to any name of your choice.
    1. Exchange Server 2010:
      New-ThrottlingPolicy -Name "YourNewPolicyName" -RCAMAXConcurrency $null
    2. Exchange Server 2013/2016:
      New-ThrottlingPolicy -Name "YourNewPolicyName" -RCAMAXConcurrency Unlimited
  1. Execute the cmdlet below to assign the newly created throttling policy to a mailbox of the user whose account will be used by the synchronization service. Change "MailboxName" to the name of the desired mailbox.
    Set-Mailbox -identity "MailboxName" -throttlingpolicy "YourNewPolicyName"
  2. Restart the CodeTwo Exchange Sync synchronization service.

See also:

  • Applies to: CodeTwo Exchange Sync
  • Categories: Troubleshooting
  • Last modified: 2016-11-08
  • Created: 2010-03-18
  • ID: 137
  • Keywords: limitation, limits, limited, MAPI, error, errors, objects
Our Clients:
Unicef
Facebook
Shell
T-Systems
Loreal
Casio
UPS Israel
Oford University
Mitsubishi Motors
Toshiba TEC UK Imaging Systems Ltd
Illinois Institute of Technology
MAN Diesel
McDonalds India
Skoda Auto
Bank of Israel
Fujifilm
China Mobile
Santander
Samsung SDI
Skanska
Generali
Telmex
Toyota Tsusho
BECHTEL
Ricoh
BAE SYSTEMS
Federação Portuguesa de Futebol
Credit Agricole
HYUNDAI
Rothschild
Toyota Boshoku
Oriflame Romania
ING
Ikea
Nordea

Partners, certificates & awards