You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Pavel Pereslegin (Jira)" <ji...@apache.org> on 2021/03/11 16:19:00 UTC

[jira] [Created] (IGNITE-14305) Snapshot check command for indexed cache ends with exceptions.

Pavel Pereslegin created IGNITE-14305:
-----------------------------------------

             Summary: Snapshot check command for indexed cache ends with exceptions.
                 Key: IGNITE-14305
                 URL: https://issues.apache.org/jira/browse/IGNITE-14305
             Project: Ignite
          Issue Type: Bug
            Reporter: Pavel Pereslegin
             Fix For: 2.11


The snapshot validation command fails with exceptions when executed on an indexed cache snapshot.

Reproducer
{code:java}
import org.apache.ignite.cache.QueryEntity;
import org.apache.ignite.configuration.CacheConfiguration;
import org.apache.ignite.internal.IgniteEx;
import org.apache.ignite.internal.processors.cache.verify.IdleVerifyResultV2;
import org.apache.ignite.internal.util.typedef.F;
import org.junit.Test;

import static java.util.Collections.singletonList;

public class IgniteClusterSnapshotCheckWithIndexesTest extends AbstractSnapshotSelfTest {
    private final CacheConfiguration<Integer, Account> indexedCcfg =
        txCacheConfig(new CacheConfiguration<Integer, Account>("indexed"))
            .setQueryEntities(singletonList(new QueryEntity(Integer.class.getName(), Account.class.getName())));

    @Test
    public void testClusterSnapshotCheckWithIndexes() throws Exception {
        IgniteEx ignite = startGridsWithCache(3, CACHE_KEYS_RANGE, key -> new Account(key, key), indexedCcfg);

        ignite.snapshot().createSnapshot(SNAPSHOT_NAME).get();

        IdleVerifyResultV2 res = ignite.context().cache().context().snapshotMgr().checkSnapshot(SNAPSHOT_NAME).get();

        if (!F.isEmpty(res.exceptions())) {
            StringBuilder sb = new StringBuilder();

            res.print(sb::append, true);

            fail(sb.toString());
        }
    }
}
{code}
 
Stderr output

{noformat}
java.lang.AssertionError: The check procedure failed on 3 nodes.
The check procedure has finished, no conflicts have been found.

The check procedure failed on nodes:

Node ID: 1db72a3a-a1d8-48d7-9d25-967693100002 [127.0.0.1]
Consistent ID: snapshot.IgniteClusterSnapshotCheckWithIndexesTest2
Exception: org.apache.ignite.IgniteException
Snapshot data doesn't contain required cache group partition [grpId=1943292145, snpName=testSnapshot, consId=snapshot.IgniteClusterSnapshotCheckWithIndexesTest2, missed=[65535], meta=SnapshotMetadata [rqId=7d5af20a-3247-41b4-a2d6-ed50bb63b249, snpName=testSnapshot, consId=snapshot.IgniteClusterSnapshotCheckWithIndexesTest2, folderName=snapshot_IgniteClusterSnapshotCheckWithIndexesTest2, pageSize=4096, grpIds=ArrayList [1943292145], bltNodes=HashSet [snapshot.IgniteClusterSnapshotCheckWithIndexesTest2, snapshot.IgniteClusterSnapshotCheckWithIndexesTest1, snapshot.IgniteClusterSnapshotCheckWithIndexesTest0], locParts=HashMap {1943292145=HashSet [0, 1, 2, 3, 4, 5, 6, 7, 65535]}]]

Node ID: e49c924f-3fae-40ca-bb7c-c69052800001 [127.0.0.1]
Consistent ID: snapshot.IgniteClusterSnapshotCheckWithIndexesTest1
Exception: org.apache.ignite.IgniteException
Snapshot data doesn't contain required cache group partition [grpId=1943292145, snpName=testSnapshot, consId=snapshot.IgniteClusterSnapshotCheckWithIndexesTest1, missed=[65535], meta=SnapshotMetadata [rqId=7d5af20a-3247-41b4-a2d6-ed50bb63b249, snpName=testSnapshot, consId=snapshot.IgniteClusterSnapshotCheckWithIndexesTest1, folderName=snapshot_IgniteClusterSnapshotCheckWithIndexesTest1, pageSize=4096, grpIds=ArrayList [1943292145], bltNodes=HashSet [snapshot.IgniteClusterSnapshotCheckWithIndexesTest2, snapshot.IgniteClusterSnapshotCheckWithIndexesTest1, snapshot.IgniteClusterSnapshotCheckWithIndexesTest0], locParts=HashMap {1943292145=HashSet [0, 1, 2, 3, 4, 5, 6, 7, 65535]}]]

Node ID: dba1b3fa-e37a-4b79-878d-018bfc400000 [127.0.0.1]
Consistent ID: snapshot.IgniteClusterSnapshotCheckWithIndexesTest0
Exception: org.apache.ignite.IgniteException
Snapshot data doesn't contain required cache group partition [grpId=1943292145, snpName=testSnapshot, consId=snapshot.IgniteClusterSnapshotCheckWithIndexesTest0, missed=[65535], meta=SnapshotMetadata [rqId=7d5af20a-3247-41b4-a2d6-ed50bb63b249, snpName=testSnapshot, consId=snapshot.IgniteClusterSnapshotCheckWithIndexesTest0, folderName=snapshot_IgniteClusterSnapshotCheckWithIndexesTest0, pageSize=4096, grpIds=ArrayList [1943292145], bltNodes=HashSet [snapshot.IgniteClusterSnapshotCheckWithIndexesTest2, snapshot.IgniteClusterSnapshotCheckWithIndexesTest1, snapshot.IgniteClusterSnapshotCheckWithIndexesTest0], locParts=HashMap {1943292145=HashSet [0, 1, 2, 3, 4, 5, 6, 7, 65535]}]]


	at org.junit.Assert.fail(Assert.java:88)
	at org.apache.ignite.testframework.junits.JUnitAssertAware.fail(JUnitAssertAware.java:49)
	at org.apache.ignite.internal.processors.cache.persistence.snapshot.IgniteClusterSnapshotCheckWithIndexesTest.testClusterSnapshotCheckWithIndexes(IgniteClusterSnapshotCheckWithIndexesTest.java:34)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.apache.ignite.testframework.junits.GridAbstractTest$7.run(GridAbstractTest.java:2391)
	at java.lang.Thread.run(Thread.java:748)
{noformat}




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