Package org.apache.iotdb.db.wal.node
Class WALNode
- java.lang.Object
-
- org.apache.iotdb.db.wal.node.WALNode
-
- All Implemented Interfaces:
java.lang.AutoCloseable,org.apache.iotdb.consensus.common.DataSet,org.apache.iotdb.consensus.multileader.wal.ConsensusReqReader,FlushListener,IWALNode
public class WALNode extends java.lang.Object implements IWALNode
This class encapsulatesIWALBufferandCheckpointManager. If search is enabled, the order of search index should be protected by the upper layer, and the value should start from 1.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.iotdb.consensus.multileader.wal.ConsensusReqReader
org.apache.iotdb.consensus.multileader.wal.ConsensusReqReader.ReqIterator
-
Nested classes/interfaces inherited from interface org.apache.iotdb.db.engine.flush.FlushListener
FlushListener.DefaultMemTableFLushListener
-
-
Field Summary
Fields Modifier and Type Field Description static longDEFAULT_SAFELY_DELETED_SEARCH_INDEXno multi-leader consensus, all insert nodes can be safely deleted
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()voiddeleteOutdatedFiles()Delete outdated .wal fileslonggetCurrentSearchIndex()java.io.FilegetLogDirectory()org.apache.iotdb.consensus.multileader.wal.ConsensusReqReader.ReqIteratorgetReqIterator(long startIndex)This iterator is not concurrency-safe, cannot read the current-writing wal file.longgetTotalSize()WALFlushListenerlog(long memTableId, DeleteDataNode deleteDataNode)Log DeleteDataNodeWALFlushListenerlog(long memTableId, InsertRowNode insertRowNode)Log InsertRowNodeWALFlushListenerlog(long memTableId, InsertTabletNode insertTabletNode, int start, int end)Log InsertTabletNodeWALFlushListenerlog(long memTableId, DeletePlan deletePlan)Log DeletePlanWALFlushListenerlog(long memTableId, InsertRowPlan insertRowPlan)Log InsertRowPlanWALFlushListenerlog(long memTableId, InsertTabletPlan insertTabletPlan, int start, int end)Log InsertTabletPlanvoidonMemTableCreated(IMemTable memTable, java.lang.String targetTsFile)Callback when memTable createdvoidonMemTableFlushed(IMemTable memTable)voidonMemTableFlushStarted(IMemTable memTable)voidrollWALFile()voidsetSafelyDeletedSearchIndex(long safelyDeletedSearchIndex)
-
-
-
Field Detail
-
DEFAULT_SAFELY_DELETED_SEARCH_INDEX
public static final long DEFAULT_SAFELY_DELETED_SEARCH_INDEX
no multi-leader consensus, all insert nodes can be safely deleted- See Also:
- Constant Field Values
-
-
Constructor Detail
-
WALNode
public WALNode(java.lang.String identifier, java.lang.String logDirectory) throws java.io.FileNotFoundException- Throws:
java.io.FileNotFoundException
-
WALNode
public WALNode(java.lang.String identifier, java.lang.String logDirectory, long startFileVersion, long startSearchIndex) throws java.io.FileNotFoundException- Throws:
java.io.FileNotFoundException
-
-
Method Detail
-
log
public WALFlushListener log(long memTableId, InsertRowPlan insertRowPlan)
Description copied from interface:IWALNodeLog InsertRowPlan
-
log
public WALFlushListener log(long memTableId, InsertRowNode insertRowNode)
Description copied from interface:IWALNodeLog InsertRowNode
-
log
public WALFlushListener log(long memTableId, InsertTabletPlan insertTabletPlan, int start, int end)
Description copied from interface:IWALNodeLog InsertTabletPlan
-
log
public WALFlushListener log(long memTableId, InsertTabletNode insertTabletNode, int start, int end)
Description copied from interface:IWALNodeLog InsertTabletNode
-
log
public WALFlushListener log(long memTableId, DeletePlan deletePlan)
Description copied from interface:IWALNodeLog DeletePlan
-
log
public WALFlushListener log(long memTableId, DeleteDataNode deleteDataNode)
Description copied from interface:IWALNodeLog DeleteDataNode
-
onMemTableFlushStarted
public void onMemTableFlushStarted(IMemTable memTable)
- Specified by:
onMemTableFlushStartedin interfaceFlushListener
-
onMemTableFlushed
public void onMemTableFlushed(IMemTable memTable)
- Specified by:
onMemTableFlushedin interfaceFlushListener
-
onMemTableCreated
public void onMemTableCreated(IMemTable memTable, java.lang.String targetTsFile)
Description copied from interface:IWALNodeCallback when memTable created- Specified by:
onMemTableCreatedin interfaceIWALNode
-
deleteOutdatedFiles
public void deleteOutdatedFiles()
Delete outdated .wal files
-
setSafelyDeletedSearchIndex
public void setSafelyDeletedSearchIndex(long safelyDeletedSearchIndex)
- Specified by:
setSafelyDeletedSearchIndexin interfaceorg.apache.iotdb.consensus.multileader.wal.ConsensusReqReader
-
getReqIterator
public org.apache.iotdb.consensus.multileader.wal.ConsensusReqReader.ReqIterator getReqIterator(long startIndex)
This iterator is not concurrency-safe, cannot read the current-writing wal file.- Specified by:
getReqIteratorin interfaceorg.apache.iotdb.consensus.multileader.wal.ConsensusReqReader
-
getCurrentSearchIndex
public long getCurrentSearchIndex()
- Specified by:
getCurrentSearchIndexin interfaceorg.apache.iotdb.consensus.multileader.wal.ConsensusReqReader
-
getTotalSize
public long getTotalSize()
- Specified by:
getTotalSizein interfaceorg.apache.iotdb.consensus.multileader.wal.ConsensusReqReader
-
close
public void close()
-
getLogDirectory
public java.io.File getLogDirectory()
-
rollWALFile
public void rollWALFile()
-
-