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

testFailGetLock() constantly fails. Last entry checkpoint history can be empty

    XMLWordPrintableJSON

Details

    Description

      IgniteChangeGlobalStateTest#testFailGetLock constantly fails with exception:

      java.lang.AssertionError
      	at org.apache.ignite.internal.processors.cache.persistence.checkpoint.CheckpointHistory.onCheckpointFinished(CheckpointHistory.java:205)
      	at org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager$Checkpointer.markCheckpointEnd(GridCacheDatabaseSharedManager.java:3654)
      	at org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager$Checkpointer.doCheckpoint(GridCacheDatabaseSharedManager.java:3178)
      	at org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager$Checkpointer.body(GridCacheDatabaseSharedManager.java:2953)
      	at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
      	at java.lang.Thread.run(Thread.java:748)
      

      As Sergey Chugunov mentioned, issue can be solved different ways:

      It seems we missed a case when lastEntry may be empty. We may choose here from two options:

      • Check if histMap is empty inside onCheckpointFinished. If it is just don't log anything (it was the very first checkpoint).
      • Check in caller that there is no history, calculate necessary index in caller and pass it to onCheckpointFinished to prepare correct log message.

      Attachments

        Issue Links

          Activity

            People

              andmed Andrew Medvedev
              mmuzaf Maxim Muzafarov
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: