Didar Shayarov created IGNITE-27465:
---------------------------------------

             Summary: Fix EOFException during snapshot SystemView read with 
retry logic
                 Key: IGNITE-27465
                 URL: https://issues.apache.org/jira/browse/IGNITE-27465
             Project: Ignite
          Issue Type: Improvement
            Reporter: Didar Shayarov


java.io.EOFException when reading snapshot SystemView during creation of a 
dump-type snapshot



 If the SnapshotSystemView is read while finishing the creation of a dump-type 
snapshot, a java.io.EOFException may be thrown, as the snapshot's 
meta-information might be only partially written at that moment:
{code:java}
org.apache.ignite.IgniteCheckedException: Failed to deserialize object with 
given class loader: jdk.internal.loader.ClassLoaders$AppClassLoader@1dbd16a6

    at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:5016) 
~[classes/:?]

    at 
org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:263)
 ~[classes/:?]

    at 
org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:175)
 ~[classes/:?]

    at 
org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:144)
 ~[classes/:?]

    at 
org.apache.ignite.internal.metric.SystemViewSelfTest.testSnapshotMultithreaded(SystemViewSelfTest.java:2378)
 ~[test-classes/:?]

    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method) ~[?:?]

    at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
 ~[?:?]

    at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:?]

    at java.base/java.lang.reflect.Method.invoke(Method.java:569) ~[?:?]

    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:2486)
 ~[test-classes/:?]

    at java.base/java.lang.Thread.run(Thread.java:840) ~[?:?]

Caused by: org.apache.ignite.IgniteException: Failed to deserialize object with 
given class loader: jdk.internal.loader.ClassLoaders$AppClassLoader@1dbd16a6

    at org.apache.ignite.internal.util.lang.RunnableX.run(RunnableX.java:40) 
~[classes/:?]

    at 
org.apache.ignite.testframework.GridTestUtils.lambda$runAsync$3(GridTestUtils.java:1212)
 ~[test-classes/:?]

    at 
org.apache.ignite.testframework.GridTestUtils.lambda$runAsync$4(GridTestUtils.java:1268)
 ~[test-classes/:?]

    at 
org.apache.ignite.testframework.GridTestUtils$7.call(GridTestUtils.java:1609) 
~[test-classes/:?]

    at 
org.apache.ignite.testframework.GridTestThread.run(GridTestThread.java:88) 
~[test-classes/:?]

Caused by: org.apache.ignite.IgniteException: Failed to deserialize object with 
given class loader: jdk.internal.loader.ClassLoaders$AppClassLoader@1dbd16a6

    at 
org.apache.ignite.internal.processors.cache.persistence.snapshot.IgniteSnapshotManager.readSnapshotMetadatas(IgniteSnapshotManager.java:1829)
 ~[classes/:?]

    at 
org.apache.ignite.internal.processors.cache.persistence.snapshot.IgniteSnapshotManager.lambda$start0$3cf4d33f$1(IgniteSnapshotManager.java:609)
 ~[classes/:?]

[13:41:06] >>> Stopping test: SystemViewSelfTest#testSnapshotMultithreaded in 
1489 ms <<<

    at 
org.apache.ignite.internal.util.lang.GridFunc.transform(GridFunc.java:1237) 
~[classes/:?]

    at 
org.apache.ignite.internal.processors.cache.persistence.snapshot.IgniteSnapshotManager.lambda$start0$21(IgniteSnapshotManager.java:606)
 ~[classes/:?]

    at 
org.apache.ignite.internal.managers.systemview.SystemViewAdapter.size(SystemViewAdapter.java:97)
 ~[classes/:?]

    at 
org.apache.ignite.internal.metric.SystemViewSelfTest.lambda$testSnapshotMultithreaded$d8add58$1(SystemViewSelfTest.java:2370)
 ~[test-classes/:?]

    at org.apache.ignite.internal.util.lang.RunnableX.run(RunnableX.java:37) 
~[classes/:?]

    at 
org.apache.ignite.testframework.GridTestUtils.lambda$runAsync$3(GridTestUtils.java:1212)
 ~[test-classes/:?]

    at 
org.apache.ignite.testframework.GridTestUtils.lambda$runAsync$4(GridTestUtils.java:1268)
 ~[test-classes/:?]

    at 
org.apache.ignite.testframework.GridTestUtils$7.call(GridTestUtils.java:1609) 
~[test-classes/:?]

    at 
org.apache.ignite.testframework.GridTestThread.run(GridTestThread.java:88) 
~[test-classes/:?]

Caused by: org.apache.ignite.IgniteCheckedException: Failed to deserialize 
object with given class loader: 
jdk.internal.loader.ClassLoaders$AppClassLoader@1dbd16a6

    at 
org.apache.ignite.marshaller.jdk.JdkMarshallerImpl.unmarshal0(JdkMarshallerImpl.java:130)
 ~[classes/:?]

    at 
org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:86)
 ~[classes/:?]

    at 
org.apache.ignite.internal.processors.cache.persistence.snapshot.IgniteSnapshotManager.readFromFile(IgniteSnapshotManager.java:1788)
 ~[classes/:?]

    at 
org.apache.ignite.internal.processors.cache.persistence.snapshot.IgniteSnapshotManager.readSnapshotMetadata(IgniteSnapshotManager.java:1764)
 ~[classes/:?]

    at 
org.apache.ignite.internal.processors.cache.persistence.snapshot.IgniteSnapshotManager.readSnapshotMetadatas(IgniteSnapshotManager.java:1816)
 ~[classes/:?]

    at 
org.apache.ignite.internal.processors.cache.persistence.snapshot.IgniteSnapshotManager.lambda$start0$3cf4d33f$1(IgniteSnapshotManager.java:609)
 ~[classes/:?]

    at 
org.apache.ignite.internal.util.lang.GridFunc.transform(GridFunc.java:1237) 
~[classes/:?]

    at 
org.apache.ignite.internal.processors.cache.persistence.snapshot.IgniteSnapshotManager.lambda$start0$21(IgniteSnapshotManager.java:606)
 ~[classes/:?]

    at 
org.apache.ignite.internal.managers.systemview.SystemViewAdapter.size(SystemViewAdapter.java:97)
 ~[classes/:?]

    at 
org.apache.ignite.internal.metric.SystemViewSelfTest.lambda$testSnapshotMultithreaded$d8add58$1(SystemViewSelfTest.java:2370)
 ~[test-classes/:?]

    at org.apache.ignite.internal.util.lang.RunnableX.run(RunnableX.java:37) 
~[classes/:?]

    at 
org.apache.ignite.testframework.GridTestUtils.lambda$runAsync$3(GridTestUtils.java:1212)
 ~[test-classes/:?]

    at 
org.apache.ignite.testframework.GridTestUtils.lambda$runAsync$4(GridTestUtils.java:1268)
 ~[test-classes/:?]

    at 
org.apache.ignite.testframework.GridTestUtils$7.call(GridTestUtils.java:1609) 
~[test-classes/:?]

    at 
org.apache.ignite.testframework.GridTestThread.run(GridTestThread.java:88) 
~[test-classes/:?]

Caused by: java.io.EOFException {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to