Timeout encountered while rolling back committed work on a large volume is preventing the volume from being processed

book

Article ID: 100013017

calendar_today

Updated On:

Description

Error Message

A dtrace of  EVIndexVolumesProcessor shows a timeout exception while attempting to run the stored procedure uspu_RollbackCommittedWork.

Failed to execute uspu_RollbackCommittedWork after 125009 ms and 0 retries. Exception=Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.. Args=@ArchivePointIdentity=1,@VolumeMinSequenceNumber=1,@VolumeMaxSequenceNumber=2147483647,@firstAdditionSequenceNumber=1,@firstDeletionSequenceNumber=1,@firstUpdateSequenceNumber=1

 

Cause

The likely causes of this stored procedure not completing within the allotted amount of time are as follows:

  • Heavilly fragmented SQL indexes for the vault store database associated to the archive being indexed.
  • Long running SQL processes/queries are blocking the completion of the stored procedure.
  • Large number of entries, (millions of rows) in the JournalArchive table of the vault store database associated to the archive being indexed

Resolution

Further investigation is required to determine what the cause of the delay. For the above scenarios:

  • SQL maintenance - (Rebuild SQL Indexes/Update Statistics) of the vault store database associated to the archive being indexed.
  • Note: performing a dbcc showcontig with tableresults, all_indexes against  the vault store database in question will give insight into whether maintence is required.
  • SQL Blocking -
  • Note: sp_who2  or SQL Server Management Studio Activity Monitor can be used to determine if other queries/processes are blocking
  • Large number of entries (millions of rows) in the JournalArchive table
  • Note: This can occur as a result of regular backups of the vault store partitions not occurring

 

         Executing the below query will perform the same process as the uspu_RollbackCommittedWork

 

UPDATE JournalArchive SET IndexCommited = 0
WHERE IndexCommited = 1 AND ArchivePointIdentity = @ArchivePointIdentity AND
IndexSeqNo BETWEEN @firstAdditionSequenceNumber AND @VolumeMaxSequenceNumber
 
Note: The values for the variables: @ArchivePointIdentity, @firstAdditionSequenceNumbers and @VolumeMaxSequenceNumber will be found in the exception. See below for an example.

Failed to execute uspu_RollbackCommittedWork after 125009 ms and 0 retries. Exception=Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.. Args=@ArchivePointIdentity=1,@VolumeMinSequenceNumber=1,@VolumeMaxSequenceNumber=2147483647,@firstAdditionSequenceNumber=1,@firstDeletionSequenceNumber=1,@firstUpdateSequenceNumber=1

 

 

Issue/Introduction

An attempt to update/rebuild a large index volume results in no items being added to the index volume folder.