public class FsyncModeFileWriteAheadLogManager extends GridCacheSharedManagerAdapter implements IgniteWriteAheadLogManager
| Modifier and Type | Class and Description |
|---|---|
static class |
FsyncModeFileWriteAheadLogManager.FileDescriptor
WAL file descriptor.
|
static class |
FsyncModeFileWriteAheadLogManager.ReadFileHandle |
| Modifier and Type | Field and Description |
|---|---|
static FsyncModeFileWriteAheadLogManager.FileDescriptor[] |
EMPTY_DESCRIPTORS |
static FileFilter |
WAL_SEGMENT_COMPACTED_OR_RAW_FILE_FILTER
WAL segment file filter, see
WAL_NAME_PATTERN |
static String |
WAL_SEGMENT_FILE_EXT |
static FileFilter |
WAL_SEGMENT_FILE_FILTER
WAL segment file filter, see
WAL_NAME_PATTERN |
cctx, diagnosticLog, log| Constructor and Description |
|---|
FsyncModeFileWriteAheadLogManager(GridKernalContext ctx) |
| Modifier and Type | Method and Description |
|---|---|
void |
allowCompressionUntil(WALPointer ptr)
Gives a hint to WAL manager to compact WAL until given pointer (exclusively).
|
boolean |
disabled(int grpId)
Checks WAL disabled for cache group.
|
void |
flush(WALPointer ptr,
boolean explicitFsync)
Makes sure that all log entries written to the log up until the specified pointer are actually written
to the underlying storage.
|
Collection<File> |
getAndReserveWalFiles(FileWALPointer low,
FileWALPointer high)
Collect wal segment files from low pointer (include) to high pointer (not include) and reserve low pointer.
|
boolean |
isAlwaysWriteFullPages() |
boolean |
isFullSync() |
WALPointer |
log(WALRecord record)
Appends the given log entry to the write-ahead log.
|
void |
onActivate(GridKernalContext kctx)
Called when cluster performing activation.
|
void |
onDeActivate(GridKernalContext kctx)
Called when cluster performing deactivation.
|
void |
release(WALPointer start)
Invoke this method to release WAL history since provided pointer that was previously reserved.
|
WALIterator |
replay(WALPointer start)
Invoke this method to iterate over the written log entries.
|
boolean |
reserve(WALPointer start)
Invoke this method to reserve WAL history since provided pointer and prevent it's deletion.
|
boolean |
reserved(WALPointer ptr)
Checks if WAL segment is under lock or reserved
|
void |
resumeLogging(WALPointer lastPtr)
Resumes logging after start.
|
static FsyncModeFileWriteAheadLogManager.FileDescriptor[] |
scan(File[] allFiles) |
int |
serializerVersion() |
void |
start0() |
protected void |
stop0(boolean cancel) |
int |
truncate(WALPointer low,
WALPointer high)
Gives a hint to WAL manager to clear entries logged before the given pointer.
|
int |
walArchiveSegments() |
static long |
writeSerializerVersion(FileIO io,
long idx,
int version,
WALMode mode)
Writes record serializer version to provided
io. |
context, isStopping, kernalStartInfo, kernalStopInfo, log, onDisconnected, onKernalStop, onKernalStop0, onReconnected, printMemoryStats, start, startInfo, stop, stopInfo, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitonDisconnected, onKernalStop, onReconnected, printMemoryStats, start, stoppublic static final FsyncModeFileWriteAheadLogManager.FileDescriptor[] EMPTY_DESCRIPTORS
public static final String WAL_SEGMENT_FILE_EXT
public static final FileFilter WAL_SEGMENT_FILE_FILTER
WAL_NAME_PATTERNpublic static final FileFilter WAL_SEGMENT_COMPACTED_OR_RAW_FILE_FILTER
WAL_NAME_PATTERNpublic FsyncModeFileWriteAheadLogManager(@NotNull
GridKernalContext ctx)
ctx - Kernal context.public void start0()
throws IgniteCheckedException
start0 in class GridCacheSharedManagerAdapterIgniteCheckedException - If failed.protected void stop0(boolean cancel)
stop0 in class GridCacheSharedManagerAdaptercancel - Cancel flag.public void onActivate(GridKernalContext kctx) throws IgniteCheckedException
onActivate in interface IgniteChangeGlobalStateSupportkctx - Kernal context.IgniteCheckedException - If failed.public void onDeActivate(GridKernalContext kctx)
onDeActivate in interface IgniteChangeGlobalStateSupportkctx - Kernal context.public boolean isAlwaysWriteFullPages()
isAlwaysWriteFullPages in interface IgniteWriteAheadLogManagertrue If we have to always write full pages.public boolean isFullSync()
isFullSync in interface IgniteWriteAheadLogManagertrue if WAL will perform fair syncs on fsync call.public void resumeLogging(WALPointer lastPtr) throws IgniteCheckedException
resumeLogging in interface IgniteWriteAheadLogManagerIgniteCheckedExceptionpublic Collection<File> getAndReserveWalFiles(FileWALPointer low, FileWALPointer high) throws IgniteCheckedException
low - Low bound.high - High bound.IgniteCheckedExceptionpublic int serializerVersion()
serializerVersion in interface IgniteWriteAheadLogManagerpublic WALPointer log(WALRecord record) throws IgniteCheckedException, StorageException
log in interface IgniteWriteAheadLogManagerrecord - entry to log.IgniteWriteAheadLogManager.flush(WALPointer, boolean) method to make sure the record is
written to the log.IgniteCheckedException - If failed to construct log entry.StorageException - If IO error occurred while writing log entry.public void flush(WALPointer ptr, boolean explicitFsync) throws IgniteCheckedException, StorageException
flush in interface IgniteWriteAheadLogManagerptr - Optional pointer to write. If null, will sync up to the latest record.explicitFsync - If true, data will be synced to the storage device on hardware level.IgniteCheckedException - If failed to write.StorageException - If IO exception occurred during the write. If an exception is thrown from this
method, the WAL will be invalidated and the node will be stopped.public WALIterator replay(WALPointer start) throws IgniteCheckedException, StorageException
replay in interface IgniteWriteAheadLogManagerstart - Optional WAL pointer from which to start iteration.StorageException - If IO error occurred while reading WAL entries.IgniteCheckedExceptionpublic boolean reserve(WALPointer start) throws IgniteCheckedException
reserve in interface IgniteWriteAheadLogManagerstart - WAL pointer.IgniteCheckedExceptionpublic void release(WALPointer start) throws IgniteCheckedException
release in interface IgniteWriteAheadLogManagerstart - WAL pointer.IgniteCheckedExceptionpublic int truncate(WALPointer low, WALPointer high)
truncate in interface IgniteWriteAheadLogManagerlow - Pointer since which WAL will be truncated. If null, WAL will be truncated from the oldest segment.high - Pointer for which it is safe to clear the log.public void allowCompressionUntil(WALPointer ptr)
allowCompressionUntil in interface IgniteWriteAheadLogManagerptr - Pointer for which it is safe to compact the log.public int walArchiveSegments()
walArchiveSegments in interface IgniteWriteAheadLogManagerpublic boolean reserved(WALPointer ptr)
reserved in interface IgniteWriteAheadLogManagerptr - Pointer to check.public boolean disabled(int grpId)
disabled in interface IgniteWriteAheadLogManagergrpId - Group id.public static FsyncModeFileWriteAheadLogManager.FileDescriptor[] scan(File[] allFiles)
public static long writeSerializerVersion(FileIO io, long idx, int version, WALMode mode) throws IOException
io.
NOTE: Method mutates position of io.io - I/O interface for file.idx - Segment index.version - Serializer version.IOException - If failed to write serializer version.
Follow @ApacheIgnite
Ignite Fabric : ver. 2.5.0 Release Date : May 23 2018