Kirill Tkalenko created IGNITE-13877:
----------------------------------------

             Summary: Error restarting the node with switching from disabled 
WAL archiving to enabled
                 Key: IGNITE-13877
                 URL: https://issues.apache.org/jira/browse/IGNITE-13877
             Project: Ignite
          Issue Type: Bug
          Components: persistence
            Reporter: Kirill Tkalenko
            Assignee: Kirill Tkalenko
             Fix For: 2.10


If a user starts a node with WAL archiving disabled, and then wants to restart 
a node with WAL archiving enabled, they will fail due to the following error:
{noformat}
SEVERE: Critical system error detected. Will be handled accordingly to 
configured handler [hnd=StopNodeOrHaltFailureHandler [tryStop=false, timeout=0, 
super=AbstractFailureHandler [ignoredFailureTypes=UnmodifiableSet 
[SYSTEM_WORKER_BLOCKED, SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], 
failureCtx=FailureContext [type=CRITICAL_ERROR, err=class 
o.a.i.i.processors.cache.persistence.StorageException: Failed to read 
checkpoint record from WAL, persistence consistency cannot be guaranteed. Make 
sure configuration points to correct WAL folders and WAL folder is properly 
mounted [ptr=FileWALPointer [idx=11, fileOff=15864934, len=21409], 
walPath=db/wal, walArchive=db/wal/archive]]]
class org.apache.ignite.internal.processors.cache.persistence.StorageException: 
Failed to read checkpoint record from WAL, persistence consistency cannot be 
guaranteed. Make sure configuration points to correct WAL folders and WAL 
folder is properly mounted [ptr=FileWALPointer [idx=11, fileOff=15864934, 
len=21409], walPath=db/wal, walArchive=db/wal/archive]
        at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.performBinaryMemoryRestore(GridCacheDatabaseSharedManager.java:2324)
        at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.readMetastore(GridCacheDatabaseSharedManager.java:799)
        at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetaStorageSubscribersOnReadyForRead(GridCacheDatabaseSharedManager.java:3523)
        at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1206)
        at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2089)
        at 
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1758)
        at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1147)
        at 
org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:1065)
        at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:951)
        at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:850)
        at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:720)
        at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:689)
        at org.apache.ignite.Ignition.start(Ignition.java:344)
{noformat}

At this point, the user can be offered the following workaround:
Move all segments to WAL archive directory (include consistentId directory) as 
they are except the last one. Last one rename as index % 
*DataStorageConfiguration#walSegments*.

Described workaround should be done automatically without user intervention.




--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to