Nikita Amelchev created IGNITE-20097:
----------------------------------------
Summary: WAL writes to an archived segment after node restart
Key: IGNITE-20097
URL: https://issues.apache.org/jira/browse/IGNITE-20097
Project: Ignite
Issue Type: Bug
Reporter: Nikita Amelchev
Assignee: Nikita Amelchev
Fix For: 2.16
Attachments: NodeRestartTest.java
WAL writes to an archived segment after node restart if segment was archiver
right before node stop (no records were written to the next segment). User data
may be lost. Reproducer attached.
{noformat}
Critical system error detected. Will be handled accordingly to configured
handler [hnd=NoOpFailureHandler [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=WALPointer [idx=0, fileOff=259442, len=21409], walPath=db/wal,
walArchive=db/wal/archive]]]
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=WALPointer [idx=0, fileOff=259442, len=21409],
walPath=db/wal, walArchive=db/wal/archive]
at
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.performBinaryMemoryRestore(GridCacheDatabaseSharedManager.java:2134)
~[classes/:?]
at
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.readMetastore(GridCacheDatabaseSharedManager.java:855)
[classes/:?]
at
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetaStorageSubscribersOnReadyForRead(GridCacheDatabaseSharedManager.java:3062)
[classes/:?]
at
org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1125)
[classes/:?]
at
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1725)
[classes/:?]
at
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1647)
[classes/:?]
at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1089)
[classes/:?]
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:599)
[classes/:?]
at
org.apache.ignite.testframework.junits.GridAbstractTest.startGrid(GridAbstractTest.java:1321)
[test-classes/:?]
at
org.apache.ignite.testframework.junits.GridAbstractTest.startGrid(GridAbstractTest.java:1238)
[test-classes/:?]
at
org.apache.ignite.testframework.junits.GridAbstractTest.startGrid(GridAbstractTest.java:1214)
[test-classes/:?]
at
org.apache.ignite.testframework.junits.GridAbstractTest.startGrid(GridAbstractTest.java:1045)
[test-classes/:?]
at
org.apache.ignite.internal.processors.cache.persistence.NodeRestartTest.test(NodeRestartTest.java:75)
[test-classes/:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[?:1.8.0_352]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[?:1.8.0_352]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:1.8.0_352]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_352]
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
[junit-4.12.jar:4.12]
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
[junit-4.12.jar:4.12]
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
[junit-4.12.jar:4.12]
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
[junit-4.12.jar:4.12]
at
org.apache.ignite.testframework.junits.GridAbstractTest$6.run(GridAbstractTest.java:2504)
[test-classes/:?]
at java.lang.Thread.run(Thread.java:750) [?:1.8.0_352]
{noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)