Task Controller and Storage services fail to start due to an error with Microsoft Message Queuing (MSMQ) Service failing to start (Event 2053)

Article: 100023202
Last Published: 2015-09-18
Ratings: 1 0
Product(s): Enterprise Vault

Problem

The Enterprise Vault (EV) Task Controller and Storage services failed to start due to an error with Microsoft Message Queuing (MSMQ) Service failing to start (Event 2053) as they are dependent on the Message Queuing service.  The events below are logged in the Application and Enterprise Vault logs: 

 

Error Message

Type:Error
Event: 2252
Source: Enterprise Vault
Category: Retrieval Task
Description:
Could not Locate the "MAILVAULT\Private$\Enterprise Vault Exchange Mailbox Task for <SERVERNAME> 090707155231 R1" Queue, call returned 0xC00E0027.
V-437-2252 

Type:  Error
Event:  2257
Source:  Enterprise Vault
Category: Retrieval Task
User:  N/A
Computer: MAILVAULT
Description:
The Retrieval task 'Exchange Mailbox Archiving Task for <SERVERNAME>(Retrieval)' could not be started due to startup errors.
V-437-2257

Type: Error
Event: 2053
Source: MSMQ
Description:
The incoming sequences checkpoint file failed to initialize. The file MQInSeqs.lg1 or MQInSeqs.lg2 in the Msmq\Storage folder is corrupted or absent.
V-437-2053

Note: the event below is also common in this scenario:

Log Name:      Application
Source:        MSMQ
Date:          7/24/2012 11:03:05 AM
Event ID:      2078
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      computer name

Description:
The Message Queuing service cannot start. The checkpoint files cannot be recovered. To start the Message Queuing service without losing consistency, you must correct or recover corrupted checkpoint and log files. To start the service for emergency use (with a potential loss of data consistency), delete the files QMLog, MQTrans.lg1, MQTrans.lg2, MQInSeqs.lg1, and MQInSeqs.lg2 from the Msmq\Storage folder and add the DWORD registry key HKLM\Software\Microsoft\MSMQ\Parameters\LogDataCreated with a value of 0. Error 0x80070020: The process cannot access the file because it is being used by another process.

 

Cause

To provide transactional consistency, Message Queuing logs transaction status changes and incoming messages to a log file (QMLog), and then creates a checkpoint that is written to a separate file. The checkpoint file contains version information, and the QMLog is updated to refer to that version of the checkpoint file as being the current checkpoint.

During initialization of the MSMQ Service, there is a recovery phase for transactional messages where the QMLog file is read. It contains the version information for the most current checkpoint entry in the checkpoint files and then uses the current checkpoint file to perform recovery of transactional messages.

If there is a failure between the time that the checkpoint file was created and when the QMLog was updated with the new version, the QMLog file refers to the earliest checkpoint file version and recovery fails.

Message Queuing uses several checkpoint files to maintain consistency. These checkpoint files are used to perform recovery of transactional messages.

If the Transaction Checkpoint files fail to initialize, this will cause the Message Queuing Service to fail, generating the errors above.  
 

The two events refer to access to the Retrieval Queues. However, this could occur in any Queue under Message Queuing, regardless of Enterprise Vault.

Corruption of the Message Queuing Checkpoint files may occur if the Server handling the Queues, experiences a sudden power loss or otherwise is shut down without the message Queuing Service being shut down gracefully.


 

Solution

Refer to the Microsoft TechNet article below on how to correct this issue.

Event ID 2053 — Message Queuing Logging and Checkpoint Events
https://technet.microsoft.com/en-us/library/cc733512.aspx

 

 

Was this content helpful?