Performance and Reliability Improvements while using Outlook 2016 and above on Enterprise Vault Server

Article: 100054996
Last Published: 2023-10-11
Ratings: 21 1
Product(s): Enterprise Vault

Problem

 

Enterprise Vault (EV) supports running different versions of Microsoft Outlook on the EV Servers. EV utilizes Outlook's ability to connect with Exchange servers and uses the underlying MAPI libraries to perform mailbox and journal archiving of on-premises Exchange servers. 

Over time, issues have been reported regarding the performance and reliability of Exchange archiving runs when Outlook version 2016 or newer is installed and configured on the EV servers.  

In such configurations,

  • EV may not be able to attain the expected performance levels during archiving runs.

  • Lie Mode Lock issues can cause the Exchange archiving run to become unstable. 

  • The StorageOnlineOpns process may become hung when Outlook 2019 or higher is installed on the EV server. 

 

Error Message

 

Enterprise Vault logs the following events:

Log Name: Enterprise Vault
Source: Enterprise Vault
Event ID: 7206
Task Category: Archive Task
Level: Error
Description: A locking error has occurred in CEVMAPILieModeLock : 0x102 
Internal reference:STWL Write Mutex CMAPISession::CreateMapiSession

V-437-7206

 

Log Name: Enterprise Vault
Source: Enterprise Vault
Event ID: 3230
Task Category: Archive Task
Level: Error
Description: Could not create a new MAPI session on Exchange server '<Exchange_server_name>'.
The most likely cause is a connection issue that is causing excessive delays in the task.  This can often be recovered by restarting the MAPI related tasks.
Internal References:
Unable to get exclusive access to the MAPI thread pool.
Mutex name:Lie mode lock
Reason:Last lock holder: Process <123> <ArchiveTask> Thread <1304>

V-437-3230

 

Log Name: Enterprise Vault
Source: Enterprise Vault
Event ID: 3430
Task Category: Task Controller Service
Level: Information
Description: A request has been made to restart all the MAPI tasks.
There was a MAPI error from which Enterprise Vault cannot recover without restarting the tasks.

V-437-3430

 

Log Name: Enterprise Vault
Source: Enterprise Vault
Event ID: 3296
Task Category:Archive Task
Level:Information
Description:The Archiving Task 'Exchange Mailbox Archiving Task for <Exchange_server_name>' against <Exchange_server_name> has stopped. This is a normal shut down, no action is required. 

V-437-3296

 

From a Dtrace log of the ArchiveTask process:

[1234] (ArchiveTask) <5678> EV:L {CReadWriteLock::SetWriteLock:#X} [CEVMAPILieModeLock] WaitForSingleObject on write mutex [0x210] returned [0x80]
[1234] (ArchiveTask) <5678> EV:L {CReadWriteLock::SetWriteLock:#X} [CEVMAPILieModeLock] WaitForMultipleObjects on thread mutex [0x21C], event [0x218] returned [0x102]
[1234] (ArchiveTask) <5678> EV:H {CReadWriteLock::SetWriteLock:#X} WaitForMultipleObjects failed with result [0x102]
[1234] (ArchiveTask) <5678> EV~E Event ID: 7206 A locking error has occurred in CEVMAPILieModeLock : 0x102 |Internal reference: STWL Thread Mutex CMailboxHelper::CreateProfileAndSessionAndOpenMailbox |
[1234] (ArchiveTask) <5678> EV:H {CEVMAPILieModeLock::AcquireExclusiveLock:#54} FAILED to acquire lock [0xC0041C26], exclusive lock holder [Last lock holder: Process <X> Thread <X>]
[1234] (ArchiveTask) <5678> EV~E Event ID: 3230 Could not create a new MAPI session on Exchange server '<Exchange_server_name>'. |The most likely cause is a connection issue that is causing excessive delays in the task. This can often be recovered by restarting the MAPI related tasks. |Internal References: |Unable to get exclusive access to the MAPI thread pool. |Mutex name: Lie mode lock |Reason: Last lock holder: Process <X> Thread <X> |
[1234] (ArchiveTask) <5678> EV:H {CEVMAPILieModeLock::SignalAllMAPITasksToRestart:#X} Setting the 'restart MAPI tasks' event to signaled...
[1234] (ArchiveTask) <5678> EV:H {CMAPISession::CreateMapiSession} (Exit) Status: [Timed out whilst waiting for the MAPI profile mutex (0xc00408da)]

 

Cause

The common underlying factor is a change in the MAPI library behavior with Outlook version 2016 and above.

 

 

Solution

Improve Exchange archiving performance when using Outlook 2016 and above
 
Communication over any network requires a protocol to verify the information is being received and sent properly. Earlier Microsoft Outlook versions used  the Remote Procedure Call (RPC) over HTTP protocol to connect to the Exchange server. RPC over HTTP requires a stable and reliable high-bandwidth connection between the client and the server. From Outlook 2016 and above, Microsoft started using MAPI over HTTP to support connections more reliably over low bandwidth as well.

Implementing MAPI over HTTP does not mean that it is the only protocol that can be used for Outlook to access Exchange. Outlook clients that are not MAPI over HTTP capable can still use RPC over HTTP to access Exchange through a MAPI-enabled Client Access server.

It is worth noting that RPC and MAPI are not security protocols and they do not protect data. That is the purpose of the HTTP part of MAPI/RPC over HTTP - to allow both methods of connecting to the Exchange server to be secure. Although MAPI over HTTP provides benefits from an email client perspective, its performance is not adequate when archiving emails.

The following steps are needed to implement the required configuration changes to get better archiving performance: 

1. Disable MAPI over HTTP on the Enterprise Vault server by adding the following registry key: 

Location: HKEY_CURRENT_USER\Software\Microsoft\Exchange
Type: REG_DWORD (32-bit) Value
Value Name: MapiHttpDisabled
Value data: 1
Base: Hexadecimal

Note: As the Registry Key is HKEY_CURRENT_USER, log on to the Enterprise Vault server using the Vault Service account. If you run Exchange archiving tasks under a service account other than the Vault Service account, log on using that account.

2. From the Exchange Management Shell, verify RPC over HTTP is not blocked. This can be verified using the following command for each EV system mailbox:

Get-CasMailbox -identity <user@domain.com> | ft MAPIBlockOutlookRpcHttp

Where <user@domain.com> is the EV system mailbox identity. If blocked (True), enable RPC over HTTP only for the EV system mailboxes on the Exchange Server using the following command: 

Set-CasMailbox -identity <user@domain.com> -MAPIBlockOutlookRpcHttp $False 

3. Restart the Microsoft Exchange RPC Client Access service to take immediate effect of the setting changes. 

4. Restart the Exchange Mailbox Archiving Tasks on the EV servers.

Once the above configuration is completed, continue using EV to archive your Exchange mailboxes. 

 

Improve Exchange archiving reliability and process stability when using Outlook 2016 and onwards 

A combined solution is available when using Outlook 2016 and above with EV. Patches in combination with new registry values are available for the following EV Versions.

Note: Customers are advised to upgrade to the latest maintenance pack release of the version currently installed in the environment to start using this solution.  

  • EV 12.5.3  

  • EV 14.0.1  

  • EV 14.1.2  

  • EV 14.1.3  

  • EV 14.2.0

  • EV 14.2.3  

  • EV 14.3.1 

  • EV 14.4.0

  • EV 14.4.1

  • EV 14.4.2

  • EV 14.5.0

Please contact Veritas Technical Support and reference this article to obtain the patch needed for the installed EV version.

 

Warning: Incorrect use of the Windows registry editor may prevent the operating system from functioning properly. Great care should be taken when making changes to a Windows registry. Registry modifications should only be carried out by persons experienced in the use of the registry editor application. It is recommended that a complete backup of the registry and workstation be made prior to making any registry changes.

References

JIRA : CFT-5747

Was this content helpful?