Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-14305

Snapshot check command for indexed cache ends with exceptions

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.11
    • None

    Description

      The snapshot validation command reports exceptions when executed on a snapshot containing cache with SQL-indexes.

      Reproducer

      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());
              }
          }
      }
      

       
      Stderr output

      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)
      

      Attachments

        Issue Links

          Activity

            People

              mmuzaf Maxim Muzafarov
              xtern Pavel Pereslegin
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 1h 40m
                  1h 40m