Class JournalCompactor
java.lang.Object
org.apache.activemq.artemis.core.journal.impl.AbstractJournalUpdateTask
org.apache.activemq.artemis.core.journal.impl.JournalCompactor
- All Implemented Interfaces:
JournalReaderCallback,JournalRecordProvider
-
Field Summary
Fields inherited from class org.apache.activemq.artemis.core.journal.impl.AbstractJournalUpdateTask
currentFile, FILE_COMPACT_CONTROL, fileFactory, filesRepository, journal, newDataFiles, nextOrderingID, sequentialFile -
Constructor Summary
ConstructorsConstructorDescriptionJournalCompactor(SequentialFileFactory fileFactory, JournalImpl journal, JournalFilesRepository filesRepository, ConcurrentLongHashSet recordsSnapshot, long firstFileID) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddCommandCommit(JournalTransaction liveTransaction, JournalFile currentFile) voidaddCommandDelete(long id, JournalFile usedFile) voidaddCommandRollback(JournalTransaction liveTransaction, JournalFile currentFile) voidaddCommandUpdate(long id, JournalFile usedFile, int size, boolean replaceableUpdate) voidaddPendingTransaction(long transactionID, long[] ids) This methods informs the Compactor about the existence of a pending (non committed) transactionvoidvoidmarkAsDataFile(JournalFile file) voidonReadAddRecord(RecordInfo info) voidonReadAddRecordTX(long transactionID, RecordInfo info) voidonReadCommitRecord(long transactionID, int numberOfRecords) voidonReadDeleteRecord(long recordID) voidonReadDeleteRecordTX(long transactionID, RecordInfo info) voidonReadPrepareRecord(long transactionID, byte[] extraData, int numberOfRecords) voidonReadRollbackRecord(long transactionID) voidonReadUpdateRecord(RecordInfo info) voidonReadUpdateRecordTX(long transactionID, RecordInfo info) voidreplaceableRecord(byte recordType) voidReplay pending counts that happened during compactingMethods inherited from class org.apache.activemq.artemis.core.journal.impl.AbstractJournalUpdateTask
addToRecordsSnaptshot, containsRecord, flush, getWritingChannel, openFile, readControlFile, writeControlFile, writeEncoder, writeEncoderMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.activemq.artemis.core.journal.impl.JournalReaderCallback
done, onReadEventRecord
-
Constructor Details
-
JournalCompactor
public JournalCompactor(SequentialFileFactory fileFactory, JournalImpl journal, JournalFilesRepository filesRepository, ConcurrentLongHashSet recordsSnapshot, long firstFileID)
-
-
Method Details
-
getNewDataFiles
-
getNewRecords
-
getNewTransactions
-
addPendingTransaction
public void addPendingTransaction(long transactionID, long[] ids) This methods informs the Compactor about the existence of a pending (non committed) transaction -
addCommandCommit
-
addCommandRollback
-
addCommandDelete
-
addCommandUpdate
-
replayPendingCommands
public void replayPendingCommands()Replay pending counts that happened during compacting -
flushUpdates
- Throws:
Exception
-
onReadAddRecord
- Specified by:
onReadAddRecordin interfaceJournalReaderCallback- Throws:
Exception
-
onReadAddRecordTX
- Specified by:
onReadAddRecordTXin interfaceJournalReaderCallback- Throws:
Exception
-
onReadCommitRecord
- Specified by:
onReadCommitRecordin interfaceJournalReaderCallback- Throws:
Exception
-
onReadDeleteRecord
- Specified by:
onReadDeleteRecordin interfaceJournalReaderCallback- Throws:
Exception
-
onReadDeleteRecordTX
- Specified by:
onReadDeleteRecordTXin interfaceJournalReaderCallback- Throws:
Exception
-
markAsDataFile
- Specified by:
markAsDataFilein interfaceJournalReaderCallback
-
onReadPrepareRecord
public void onReadPrepareRecord(long transactionID, byte[] extraData, int numberOfRecords) throws Exception - Specified by:
onReadPrepareRecordin interfaceJournalReaderCallback- Throws:
Exception
-
onReadRollbackRecord
- Specified by:
onReadRollbackRecordin interfaceJournalReaderCallback- Throws:
Exception
-
replaceableRecord
public void replaceableRecord(byte recordType) -
onReadUpdateRecord
- Specified by:
onReadUpdateRecordin interfaceJournalReaderCallback- Throws:
Exception
-
onReadUpdateRecordTX
- Specified by:
onReadUpdateRecordTXin interfaceJournalReaderCallback- Throws:
Exception
-
getCompactor
- Specified by:
getCompactorin interfaceJournalRecordProvider
-
getRecords
- Specified by:
getRecordsin interfaceJournalRecordProvider
-