public class JournalCompactor extends AbstractJournalUpdateTask implements JournalRecordProvider
currentFile, FILE_COMPACT_CONTROL, fileFactory, filesRepository, journal, newDataFiles, nextOrderingID, sequentialFile| Constructor and Description |
|---|
JournalCompactor(SequentialFileFactory fileFactory,
JournalImpl journal,
JournalFilesRepository filesRepository,
Set<Long> recordsSnapshot,
long firstFileID) |
| Modifier and Type | Method and Description |
|---|---|
void |
addCommandCommit(JournalTransaction liveTransaction,
JournalFile currentFile) |
void |
addCommandDelete(long id,
JournalFile usedFile) |
void |
addCommandRollback(JournalTransaction liveTransaction,
JournalFile currentFile) |
void |
addCommandUpdate(long id,
JournalFile usedFile,
int size) |
void |
addPendingTransaction(long transactionID,
long[] ids)
This methods informs the Compactor about the existence of a pending (non committed) transaction
|
JournalCompactor |
getCompactor() |
List<JournalFile> |
getNewDataFiles() |
Map<Long,JournalRecord> |
getNewRecords() |
Map<Long,JournalTransaction> |
getNewTransactions() |
Map<Long,JournalRecord> |
getRecords() |
void |
markAsDataFile(JournalFile file) |
void |
onReadAddRecord(RecordInfo info) |
void |
onReadAddRecordTX(long transactionID,
RecordInfo info) |
void |
onReadCommitRecord(long transactionID,
int numberOfRecords) |
void |
onReadDeleteRecord(long recordID) |
void |
onReadDeleteRecordTX(long transactionID,
RecordInfo info) |
void |
onReadPrepareRecord(long transactionID,
byte[] extraData,
int numberOfRecords) |
void |
onReadRollbackRecord(long transactionID) |
void |
onReadUpdateRecord(RecordInfo info) |
void |
onReadUpdateRecordTX(long transactionID,
RecordInfo info) |
void |
replayPendingCommands()
Replay pending counts that happened during compacting
|
addToRecordsSnaptshot, flush, getWritingChannel, lookupRecord, openFile, readControlFile, writeControlFile, writeEncoder, writeEncoderpublic JournalCompactor(SequentialFileFactory fileFactory, JournalImpl journal, JournalFilesRepository filesRepository, Set<Long> recordsSnapshot, long firstFileID)
public List<JournalFile> getNewDataFiles()
public Map<Long,JournalRecord> getNewRecords()
public Map<Long,JournalTransaction> getNewTransactions()
public void addPendingTransaction(long transactionID,
long[] ids)
public void addCommandCommit(JournalTransaction liveTransaction, JournalFile currentFile)
public void addCommandRollback(JournalTransaction liveTransaction, JournalFile currentFile)
public void addCommandDelete(long id,
JournalFile usedFile)
id - usedFile - public void addCommandUpdate(long id,
JournalFile usedFile,
int size)
id - usedFile - public void replayPendingCommands()
public void onReadAddRecord(RecordInfo info) throws Exception
onReadAddRecord in interface JournalReaderCallbackExceptionpublic void onReadAddRecordTX(long transactionID,
RecordInfo info)
throws Exception
onReadAddRecordTX in interface JournalReaderCallbackExceptionpublic void onReadCommitRecord(long transactionID,
int numberOfRecords)
throws Exception
onReadCommitRecord in interface JournalReaderCallbackExceptionpublic void onReadDeleteRecord(long recordID)
throws Exception
onReadDeleteRecord in interface JournalReaderCallbackExceptionpublic void onReadDeleteRecordTX(long transactionID,
RecordInfo info)
throws Exception
onReadDeleteRecordTX in interface JournalReaderCallbackExceptionpublic void markAsDataFile(JournalFile file)
markAsDataFile in interface JournalReaderCallbackpublic void onReadPrepareRecord(long transactionID,
byte[] extraData,
int numberOfRecords)
throws Exception
onReadPrepareRecord in interface JournalReaderCallbackExceptionpublic void onReadRollbackRecord(long transactionID)
throws Exception
onReadRollbackRecord in interface JournalReaderCallbackExceptionpublic void onReadUpdateRecord(RecordInfo info) throws Exception
onReadUpdateRecord in interface JournalReaderCallbackExceptionpublic void onReadUpdateRecordTX(long transactionID,
RecordInfo info)
throws Exception
onReadUpdateRecordTX in interface JournalReaderCallbackExceptionpublic JournalCompactor getCompactor()
getCompactor in interface JournalRecordProviderpublic Map<Long,JournalRecord> getRecords()
getRecords in interface JournalRecordProviderCopyright © 2018 JBoss by Red Hat. All rights reserved.