You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2017/10/03 14:03:41 UTC
[27/37] ignite git commit: IGNITE-5915 - Added warning for WAL NONE
mode
IGNITE-5915 - Added warning for WAL NONE mode
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/f57b6776
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/f57b6776
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/f57b6776
Branch: refs/heads/ignite-2.3
Commit: f57b6776775308753a1fa579c0e7599df241be61
Parents: 252eedc
Author: Alexey Goncharuk <al...@gmail.com>
Authored: Mon Oct 2 15:05:42 2017 +0300
Committer: Alexey Goncharuk <al...@gmail.com>
Committed: Mon Oct 2 15:06:12 2017 +0300
----------------------------------------------------------------------
.../java/org/apache/ignite/configuration/WALMode.java | 14 ++++++++++----
.../persistence/wal/FileWriteAheadLogManager.java | 5 ++++-
2 files changed, 14 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/f57b6776/modules/core/src/main/java/org/apache/ignite/configuration/WALMode.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/WALMode.java b/modules/core/src/main/java/org/apache/ignite/configuration/WALMode.java
index 9d4520e..bea0cba 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/WALMode.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/WALMode.java
@@ -17,6 +17,7 @@
package org.apache.ignite.configuration;
+import org.apache.ignite.Ignite;
import org.jetbrains.annotations.Nullable;
/**
@@ -24,22 +25,27 @@ import org.jetbrains.annotations.Nullable;
*/
public enum WALMode {
/**
- * Default mode: full-sync disk writes. These writes survive power loss scenarios.
+ * Default mode: full-sync disk writes. These writes survive power loss scenarios. When a control is returned
+ * from the trnasaction commit operation, the changes are guaranteed to be forced on disk according to the
+ * transaction write synchronization mode.
*/
DEFAULT,
/**
- * Log only mode: flushes application buffers. These writes survive process crash.
+ * Log only mode: flushes application buffers. These writes survive process crash. When a control is returned
+ * from the transaction commit operation, the changes are guaranteed to be forced to the OS buffer cache.
*/
LOG_ONLY,
/**
- * Background mode. Does not force application buffer flush. Data may be lost in case of process crash.
+ * Background mode. Does not force application buffer flush. Last updates may be lost in case of a process crash.
*/
BACKGROUND,
/**
- * WAL disabled.
+ * WAL is disabled. Data is guaranteed to be persisted on disk only in case of graceful cluster shutdown using
+ * {@link Ignite#active(boolean)} method. If an Ignite node is forefully terminated in NONE mode, it is likely
+ * that data stored on disk is corrupted and work directory will need to be cleared for a successfull node restart.
*/
NONE;
http://git-wip-us.apache.org/repos/asf/ignite/blob/f57b6776/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
index 76edcea..c8715aa 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/FileWriteAheadLogManager.java
@@ -294,10 +294,13 @@ public class FileWriteAheadLogManager extends GridCacheSharedManagerAdapter impl
archiver = new FileArchiver(tup == null ? -1 : tup.get2());
- if (mode != WALMode.DEFAULT) {
+ if (mode != WALMode.NONE) {
if (log.isInfoEnabled())
log.info("Started write-ahead log manager [mode=" + mode + ']');
}
+ else
+ U.quietAndWarn(log, "Started write-ahead log manager in NONE mode, persisted data may be lost in " +
+ "a case of unexpected node failure. Make sure to deactivate the cluster before shutdown.");
}
}