Some cases have been observed in which the deferred indexing thread for TRNLOG data files encounters an error (such as error 75 or 76) reading the transaction log. In this situation, the thread enters a paused state.
The thread's operation has been modified so that after it pauses, it immediately resumes operation, which may allow it to recover from the unexpected error situation. The thread tracks the log position at which the last log read error occurred, and it only retries up to 3 times at the same log position. (If an error occurs at a different log position, the retry counter is reset to zero so that an error at that location can be retried up to 3 times.)
The thread also now logs the log number and offset at which the log read error occurred. Sample messages from CTSTATUS.FCS:
- User# 00011 DeferredIndexer: ERR: Failed to read next change from transaction log: 75
- User# 00011 DeferredIndexer: ERR: Log read position: log=2, offset=262228