Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -1499,7 +1499,7 @@ private boolean checkStop() {

/**
* Background creation of all segments except first. First segment was created in main thread by
* {@link FileWriteAheadLogManager#checkOrPrepareFiles()}
* {@link FsyncModeFileWriteAheadLogManager#checkOrPrepareFiles()}
*/
private void allocateRemainingFiles() throws IgniteCheckedException {
checkFiles(1, true, new IgnitePredicate<Integer>() {
Expand Down Expand Up @@ -1663,7 +1663,7 @@ private void compressSegmentToFile(long nextSegment, File raw, File zip)
int segmentSerializerVer;

try (FileIO fileIO = ioFactory.create(raw)) {
IgniteBiTuple<Integer, Boolean> tup = FileWriteAheadLogManager.readSerializerVersionAndCompactedFlag(fileIO);
IgniteBiTuple<Integer, Boolean> tup = readSerializerVersionAndCompactedFlag(fileIO);

segmentSerializerVer = tup.get1();
}
Expand Down Expand Up @@ -2171,7 +2171,7 @@ private class FileWriteHandle extends FileHandle {
/** */
private final RecordSerializer serializer;

/** See {@link FileWriteAheadLogManager#maxWalSegmentSize} */
/** See {@link FsyncModeFileWriteAheadLogManager#maxWalSegmentSize} */
private final long maxSegmentSize;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
import org.apache.ignite.cluster.ClusterNode;
import org.apache.ignite.internal.IgniteEx;
import org.apache.ignite.internal.pagemem.store.IgnitePageStoreManager;
import org.apache.ignite.internal.pagemem.wal.IgniteWriteAheadLogManager;
import org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
import org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager;
import org.apache.ignite.internal.processors.cache.persistence.wal.FileWriteAheadLogManager;
Expand Down Expand Up @@ -178,12 +179,12 @@ private void freeDirectBuffers() {
pageStore.pageSize(),
backupIoFactory);

final FileWriteAheadLogManager walMgr = (FileWriteAheadLogManager)cacheCtx.wal();
final IgniteWriteAheadLogManager walMgr = cacheCtx.wal();

if (walMgr != null && IgniteNativeIoLib.isJnaAvailable()) {
walMgr.setCreateWalFileListener(new IgniteInClosure<FileIO>() {
if (walMgr != null && walMgr instanceof FileWriteAheadLogManager && IgniteNativeIoLib.isJnaAvailable()) {
((FileWriteAheadLogManager)walMgr).setCreateWalFileListener(new IgniteInClosure<FileIO>() {
@Override public void apply(FileIO fileIO) {
adviceFileDontNeed(fileIO, walMgr.maxWalSegmentSize());
adviceFileDontNeed(fileIO, ((FileWriteAheadLogManager)walMgr).maxWalSegmentSize());
}
});
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,6 @@ private static void CheckDataStorageMetrics(IIgnite ignite)
{
var metrics = ignite.GetDataStorageMetrics();
Assert.Greater(metrics.WalLoggingRate, 0);
Assert.Greater(metrics.WalFsyncTimeAverage, 0);
}

/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ public class DataStorageConfiguration
/// <summary>
/// Default value for <see cref="WalMode"/>.
/// </summary>
public const WalMode DefaultWalMode = WalMode.Default;
public const WalMode DefaultWalMode = WalMode.LogOnly;

/// <summary>
/// Default value for <see cref="CheckpointWriteOrder"/>.
Expand Down Expand Up @@ -182,6 +182,7 @@ public DataStorageConfiguration()
MetricsSubIntervalCount = DefaultMetricsSubIntervalCount;
WalArchivePath = DefaultWalArchivePath;
WalPath = DefaultWalPath;
WalMode = DefaultWalMode;
CheckpointWriteOrder = DefaultCheckpointWriteOrder;
WriteThrottlingEnabled = DefaultWriteThrottlingEnabled;
WalCompactionEnabled = DefaultWalCompactionEnabled;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,17 @@

namespace Apache.Ignite.Core.Configuration
{
using System;

/// <summary>
/// Write Ahead Log mode.
/// </summary>
public enum WalMode
{
/// <summary>
/// Default mode: full-sync disk writes. These writes survive power loss scenarios.
/// FSYNC mode: full-sync disk writes. These writes survive power loss scenarios.
/// </summary>
Default,
Fsync,

/// <summary>
/// Log only mode: flushes application buffers. These writes survive process crash.
Expand All @@ -40,6 +42,11 @@ public enum WalMode
/// <summary>
/// WAL disabled.
/// </summary>
None
None,

/// <summary>
/// Default mode: full-sync disk writes. These writes survive power loss scenarios.
/// </summary>
[Obsolete("Use Fsync mode.")]Default
}
}