You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Maxim Muzafarov (Jira)" <ji...@apache.org> on 2019/10/03 10:03:05 UTC

[jira] [Updated] (IGNITE-10840) Disabling WAL Archiving via setting walArchivePath to walPath isn't worked as expected

     [ https://issues.apache.org/jira/browse/IGNITE-10840?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Maxim Muzafarov updated IGNITE-10840:
-------------------------------------
    Fix Version/s:     (was: 2.8)
                   2.9

> 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
>            Priority: Major
>             Fix For: 2.9
>
>         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
(v8.3.4#803005)