Problem
Intermittent errors are reported to the Enterprise Vault (EV) event log stating that the Vault Service account does not have access to the storage queue location, even though permissions have been checked and it has been ensured that no other process is resetting permissions to the EV Storage Queue Location.
When the issue occurs, the affected Storage Queue file (EVSQ) may get deleted. The impact will vary depending on the type of archiving and whether EV has been configured to remove safety copies immediately after archiving.
Exchange Journaling and Mailbox Archiving
When EV is configured to Remove Safety Copy 'Immediately after Archiving', the agent will only remove the original item or convert to a shortcut after the message has been fully archived (i.e. ingested into the partition from the Storage Queue).
If any problem occurs, the item will stay pending in the mailbox and eventually roll backed to the original message.
SMTP Archiving
When EV is configured to Remove Safety Copy 'Immediately after Archiving', the EML file is removed immediately after the archived item is placed on the Storage Queue. I.e. the agent does not wait for the item to be fully ingested into the partition.
If any problem occurs before the ingestion into the partition, the archiving agent will not have a copy of the original item to retry.
File System Archiving
When EV is configured to Remove Safety Copy 'Immediately after Archiving', and the folder\volume policy is further configured to create a shortcut immediately or archive and delete the file, the original file is removed immediately after the archived item is placed on the Storage Queue. I.e. the agent does not wait for the item to be fully ingested on the partition.
If any problem occurs before the ingestion into the partition, the archiving agent will not have a copy of the original item to retry.
Error Message
The main error will be:Type : Error
Date : 28/05/2016
Time : 00:04:24
Event : 29010
Source : Enterprise Vault
Category : Storage Archive
User : N/A
Computer : EVServer
Description:
A problem was encountered while processing a saveset in the Storage queue.
Details: The Vault Service account does not have access to the storage queue location. For more information, see Help and Support Center at http://entced.symantec.com/entt?product=ev&language=english&version=11.0.1.0&build=11.0.1.3683&error=V-437-29016 (0xc0047158)
Storage Queue Location: F:\EV\EVStorageQueue
Storage Queue Batch File: F:\EV\EVStorageQueue\EVStorageQueue_1122234FB2DEBDCC4CA8CC4BA294233AF91210000EV_20160527230321_00032.EVSQ
Transaction Id: 127C8BD83F481EE8325B6B36E085BA61
Vault Store Entry Id: 111232934FB2DEBDCC4CA8CC4BA294233AF91210000EV
The following errors can be seen in combination with the error above:
Type : Error
Date : 28/05/2016
Time : 00:04:26
Event : 29060
Source : Enterprise Vault
Category : Storage Archive
User : N/A
Computer : EVServer
Description:
Could not process an item from the Storage Queue and there was a problem copying the item to the failed item folder.
The item will be kept on the queue for a retry later on.
In the meantime you will need to resolve the problem described below.
Details: The Vault Service account does not have access to the storage queue location. For more information, see Help and Support Center at http://entced.symantec.com/entt?product=ev&language=english&version=11.0.1.0&build=11.0.1.3683&error=V-437-29016 (0xc0047158)
Storage Queue Location: H:\EV\EVStorageQueue
Storage Queue Batch File: H:\EV\EVStorageQueue\EVStorageQueue_111232934FB2DEBDCC4CA8CC4BA294233AF91210000EV_20160527230321_00032.EVSQ
Transaction Id: 127C8BD83F481EE8325B6B36E085BA61
Vault Store Entry Id: 111232934FB2DEBDCC4CA8CC4BA294233AF91210000EVType : Error
Date : 28/05/2016
Time : 00:05:23
Event : 29059
Source : Enterprise Vault
Category : Storage Archive
User : N/A
Computer : EVServer
Description:
Could not process an item from the Storage Queue because the queue file does not exist.
If you have recently moved your Storage Queue check that you have copied all the files from the old location.
If you find the missing file, copy it into the new Storage Queue folder and then use EVSVR to recover the missing item.
EVSVR operation to run:
"Repair Queued Items"
Details:
Transaction Id: 127C8BD83F481EE8325B6B36E085BA61
Queue file: EVStorageQueue_111232934FB2DEBDCC4CA8CC4BA294233AF91210000EV_20160527230321_00031
Cause
A race condition exists in EV 11 where EV may incorrectly assume that processing has completed on a Storage Queue (Figure 1).- The StorageOnlineOPNS (SOPNS) process is queuing savesets to a particular EVSQ file.
- While the SOPNS queuing process is still in progress, EVStorageQueueBroker initiates a delete of that particular EVSQ File
- As the EVSQ file has open handles against it (because it is still being populated), the file system cannot perform the delete. Instead, it marks the file as DELETE PENDING. This is handled by the File System.
- The StorageArchive process next attempts to read the different savesets within the EVSQ File. However, because of the DELETE PENDING status of the file, any read attempt will be denied. Hence, this is the Denied, which is then logged in the Event log. This denied error will not be seen explicitly. As per the procmon screenshot, a Delete Pending Status is logged instead.
- As EV fails to read the saveset from the queue, it then attempts to copy the saveset (not the whole queue) in the failed items folder. So we can see a 0 KB file being created, and immediately deleted, as it failed to get the content from the EVSQ file.
- When all the handles on the EVSQ file are released, the file is then deleted.
Solution
Workaround
Configure EV to keep Safety Copies in the Storage Queue. This ensures that even if the race condition occurs, no deletion of the storage queue will be attempted until all items have been ingested into the partition AND backed up.