You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Andrey Aleksandrov (JIRA)" <ji...@apache.org> on 2018/12/28 10:06:00 UTC
[jira] [Created] (IGNITE-10840) Disabling WAL Archiving via setting
walArchivePath to walPath isn't worked as expected
Andrey Aleksandrov created IGNITE-10840:
-------------------------------------------
Summary: Disabling WAL Archiving via setting walArchivePath to walPath isn't worked as expected
Key: IGNITE-10840
URL: https://issues.apache.org/jira/browse/IGNITE-10840
Project: Ignite
Issue Type: Bug
Components: general
Affects Versions: 2.6
Reporter: Andrey Aleksandrov
Fix For: 2.8
Attachments: Result.png, config1.xml, config2.xml
Description:
1)start the server node with separate wal and walArchive wait for the first archived segment.
See config1.xml
Code:
Ignite ign = Ignition.start("examples/config/config1.xml");
ign.cluster().active(true);
IgniteCache<Integer, Integer> cache = ign.getOrCreateCache("default");
for (int i = 0;; i++) {
cache.put(i, i);
if(i % 1000 == 0) {
System.out.println(i);
}
}
2) Wait for the first archived segment.
[2018-12-28 12:28:44,426][INFO ][wal-file-archiver%null-#47][FileWriteAheadLogManager] Starting to copy WAL segment [absIdx=0, segIdx=0, origFile=C:\test\wal\node00-db91fc4b-0b9f-4253-8dd0-ab1ca221331a\0000000000000000.wal, dstFile=C:\test\walAr\node00-db91fc4b-0b9f-4253-8dd0-ab1ca221331a\0000000000000000.wal]
[2018-12-28 12:28:44,465][INFO ][wal-file-archiver%null-#47][FileWriteAheadLogManager] Copied file [src=C:\test\wal\node00-db91fc4b-0b9f-4253-8dd0-ab1ca221331a\0000000000000000.wal, dst=C:\test\walAr\node00-db91fc4b-0b9f-4253-8dd0-ab1ca221331a\0000000000000000.wal]
3)stop the node
4)Change the walArchivePath to walPath as it described here:
See config2.xml
https://apacheignite.readme.io/docs/write-ahead-log#section-disabling-wal-archiving
5)Restart the node with updated configuration
Ignite ign = Ignition.start("examples/config/config2.xml");
ign.cluster().active(true);
IgniteCache<Integer, Integer> cache = ign.getOrCreateCache("default");
for (int i = 0;; i++) {
cache.put(i, i);
if(i % 1000 == 0) {
System.out.println(i);
}
}
As a result, walArchive will not be disabled and new segments will be store in WAL directory.
In Ignite 2.6 it will be a reason for the next exception on next node restart:
Caused by: class org.apache.ignite.IgniteCheckedException: Failed to
initialize wal (work directory contains incorrect number of segments)
[cur=357, expected=10]
at
org.apache.ignite.internal.processors.cache.persistence.wal.FsyncModeFileWriteAheadLogManager.checkOrPrepareFiles(FsyncModeFileWriteAheadLogManager.java:1112)
at
org.apache.ignite.internal.processors.cache.persistence.wal.FsyncModeFileWriteAheadLogManager.start0(FsyncModeFileWriteAheadLogManager.java:348)
at
org.apache.ignite.internal.processors.cache.GridCacheSharedManagerAdapter.start(GridCacheSharedManagerAdapter.java:61)
at
org.apache.ignite.internal.processors.cache.GridCacheProcessor.start(GridCacheProcessor.java:700)
at
org.apache.ignite.internal.IgniteKernal.startProcessor(IgniteKernal.java:1739)
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)