Virtuoso Open-Source Wiki
Virtuoso Open-Source, OpenLink Data Spaces, and OpenLink Ajax Toolkit
Advanced Search
Help?
Location: / Dashboard / Main / VirtTipsAndTricksGuide / VirtTipsAndTricksTrxInvalidLogEntry

How do I recover from "Invalid log entry in replay" when transaction log is being replayed during server start

If a Virtuoso transaction log file log file fails to replay due to an error of the form:

11:42:57 Invalid log entry in replay. Delete transaction log virtuoso.trx or truncate at point of error. 
Valid data may exist after this record. A log record begins with bytes 193 188 5 188 0. Error at offset 13205546
11:42:57 Searching for the next valid header signature starting at 13205547
11:42:57 No valid looking header found.
11:42:57 Server exiting

It can be recovered on unix based systems using the dd command to truncate to the log to the point of offset error as follows:

# dd if=virtuoso.trx of=new.trx bs=1 count=13205546
13205546+0 records in
13205546+0 records out
# mv new.trx virtuoso.trx

Then restart with the transaction log file truncated to the point of corruption, which should now be successful.

Note: On Windows cygwin can be installed to enable the same dd command to be used for such a recovery also.
Powered By Virtuoso