Interface FileWriteHandle
-
public interface FileWriteHandleFile write handle.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description @Nullable WALPointeraddRecord(WALRecord rec)voidawaitNext()Awaiting when next segment would be initialized.booleanclose(boolean rollOver)Close segment.voidcloseBuffer()Close buffer.voidfinishResumeLogging()Do action after finish resume logging.voidflushAll()Flush all records.voidfsync(WALPointer ptr)Do fsync.longgetSegmentId()intgetSwitchSegmentRecordOffset()booleanneedFsync(WALPointer ptr)WALPointerposition()intserializerVersion()voidsignalNextAvailable()Signals next segment available to wake up other worker threads waiting for WAL to write.voidwriteHeader()Write header to segment.
-
-
-
Method Detail
-
serializerVersion
int serializerVersion()
- Returns:
- Version of serializer.
-
finishResumeLogging
void finishResumeLogging()
Do action after finish resume logging.
-
writeHeader
void writeHeader() throws IgniteCheckedExceptionWrite header to segment.- Throws:
IgniteCheckedException- if fail.
-
addRecord
@Nullable @Nullable WALPointer addRecord(WALRecord rec) throws StorageException, IgniteCheckedException
- Parameters:
rec- Record to be added.- Returns:
- Pointer or null if roll over to next segment is required or already started by other thread.
- Throws:
StorageException- if storage was failed.IgniteCheckedException- if fail.
-
flushAll
void flushAll() throws IgniteCheckedExceptionFlush all records.- Throws:
IgniteCheckedException- if fail.
-
needFsync
boolean needFsync(WALPointer ptr)
- Parameters:
ptr- Pointer.- Returns:
trueif fsync needed.
-
position
WALPointer position()
- Returns:
- Pointer to the end of the last written record (probably not fsync-ed).
-
fsync
void fsync(WALPointer ptr) throws StorageException, IgniteCheckedException
Do fsync.- Parameters:
ptr- Pointer to which fsync required.- Throws:
StorageException- if storage fail.IgniteCheckedException- if fail.
-
closeBuffer
void closeBuffer()
Close buffer.
-
close
boolean close(boolean rollOver) throws IgniteCheckedException, StorageExceptionClose segment.- Parameters:
rollOver- Close for rollover.- Returns:
trueif close was success.- Throws:
IgniteCheckedException- if fail.StorageException- if storage was fail.
-
signalNextAvailable
void signalNextAvailable()
Signals next segment available to wake up other worker threads waiting for WAL to write.
-
awaitNext
void awaitNext()
Awaiting when next segment would be initialized.
-
getSegmentId
long getSegmentId()
- Returns:
- Absolute WAL segment file index (incremental counter).
-
getSwitchSegmentRecordOffset
int getSwitchSegmentRecordOffset()
- Returns:
- SwitchSegmentRecord offset (0 if undef)
-
-