An EVSVR DatabaseReferences Repair Operation may stop at step 4 due to a sharing violation

book

Article ID: 100034417

calendar_today

Updated On:

Description

Error Message

EVSVR Log Snippet

Sharing violation error encountered During Step 4:
2017-07-09 22:08:34 * File path: \\EVServer\EVPartition0133434343$\2010\01-10\C\155\D344B30FE52C9442E1126009B70987555.ARCHDVS*
2017-07-09 22:08:34 Failed to process Saveset file. Error: The process cannot access the file because it is being used by another process. (0x80070020)


EVSVR stopping the Repair process at the end of Step 4:
EVSVR ERROR: Failed to process Partition 'FirstEXActiveUserStorePtn1': Error: The process cannot access the file because it is being used by another process. (0x80070020)
EVSVR cannot continue due to an error that occurred. Processing will now be terminated.

Workaround

To reduce the likelihood of the sharing violations errors caused by other EVSVR threads, the EVSVR Database References repair can be run on a lower number of threads. To completely remove the chances of the error occurring, 1 thread should be used.
Using 1 thread will drastically increase the repair time, however using builtin features such as CheckPointing and ItemLists will help keep the duration of the repair manageable using 1 thread.

For example when the error is encountered and with CheckPointing enabled, the EVSVR operation XML file can be edited to reduce the number of threads to 1.
Afterwards, In the EVSVR command type continue  to resume the operation from the last checkpoint. EVSVR will then restart Step 4 using 1 thread

Solution

This issue has been addressed in the following releases:

Enterprise Vault 12.2.1
https://www.veritas.com/docs/100034312

Enterprise Vault 12.3
https://www.veritas.com/docs/100041266

Cause

EVSVR is unable to access items because of transient sharing violations caused by other EVSVR threads processing duplicates of those items that have been collected in other CAB files.

Resolution

This issue has been addressed in the following releases:

Enterprise Vault 12.2.1
https://www.veritas.com/docs/100034312

Enterprise Vault 12.3
https://www.veritas.com/docs/100041266

Issue/Introduction

During a DatabaseReferences repair, with or without ItemLists, while performing 'Step 4: Recreate missing Saveset and associated records in the Vault Store database', if a thread encountered a DVS file which is locked and a sharing violation occurs, error 0x80070020 is logged.

EVSVR should try accessing an items 10 times with a short wait duration in between the retries when certain transient errors occur (such as the sharing violation), however no retires are attempted
The EVSVR process will continue until the end of Step 4 where the repair will then terminate, leaving 2 outstanding steps to complete.

For reference, the EVSVR DatabasReferences Repair currently consists of 6 steps:
Step 1: Remove invalid Collection records from the Vault Store database
Step 2: Recreate missing CAB file Collection records in the Vault Store database
Step 3: Recreate missing SISPart records in the Fingerprint database
Step 4: Recreate missing Saveset and associated records in the Vault Store database
Step 5: Update partially recreated SISPart records in Fingerprint database with Converted Content Disposition values
Step 6: Create 'File Unavailable' blacklisted SISPart records in Fingerprint database for missing SISPart records