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)

Reply via email to