/** * Truncate all transaction logs after provided position. Log version specified in a position will be * truncated to provided byte offset, any subsequent log files will be deleted. Backup copy of removed data will * be stored in separate archive. * @param positionAfterLastRecoveredTransaction position after last recovered transaction * @throws IOException */ public void truncate( LogPosition positionAfterLastRecoveredTransaction ) throws IOException { long recoveredTransactionLogVersion = positionAfterLastRecoveredTransaction.getLogVersion(); long recoveredTransactionOffset = positionAfterLastRecoveredTransaction.getByteOffset(); if ( isRecoveredLogCorrupted( recoveredTransactionLogVersion, recoveredTransactionOffset ) || haveMoreRecentLogFiles( recoveredTransactionLogVersion ) ) { backupCorruptedContent( recoveredTransactionLogVersion, recoveredTransactionOffset ); truncateLogFiles( recoveredTransactionLogVersion, recoveredTransactionOffset ); } }
/** * Truncate all transaction logs after provided position. Log version specified in a position will be * truncated to provided byte offset, any subsequent log files will be deleted. Backup copy of removed data will * be stored in separate archive. * @param positionAfterLastRecoveredTransaction position after last recovered transaction * @throws IOException */ public void truncate( LogPosition positionAfterLastRecoveredTransaction ) throws IOException { long recoveredTransactionLogVersion = positionAfterLastRecoveredTransaction.getLogVersion(); long recoveredTransactionOffset = positionAfterLastRecoveredTransaction.getByteOffset(); if ( isRecoveredLogCorrupted( recoveredTransactionLogVersion, recoveredTransactionOffset ) || haveMoreRecentLogFiles( recoveredTransactionLogVersion ) ) { backupCorruptedContent( recoveredTransactionLogVersion, recoveredTransactionOffset ); truncateLogFiles( recoveredTransactionLogVersion, recoveredTransactionOffset ); } }