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)