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

Exception during checkpoint concurrent changes in topology

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.4
    • 2.5
    • persistence
    • None

    Description

      Excpetion in checkpoint thread

      2018-03-23 15:25:19.085 [ERROR][db-checkpoint-thread-#256%DPL_GRID%DplGridNodeName%][o.a.i.i.p.c.p.GridCacheDatabaseSharedManager] Runtime error caught during grid runnable execution: GridWorker [name=
      db-checkpoint-thread, igniteInstanceName=DPL_GRID%DplGridNodeName, finished=false, hashCode=981946370, interrupted=false, runner=db-checkpoint-thread-#256%DPL_GRID%DplGridNodeName%]
      java.lang.IllegalStateException: Failed to add new partition to the partitions state (no enough space reserved) [partId=32321, reserved=5416]
        at org.apache.ignite.internal.pagemem.wal.record.CacheState.addPartitionState(CacheState.java:64)
        at org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager$Checkpointer.markCheckpointBegin(GridCacheDatabaseSharedManager.java:2955)
        at org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager$Checkpointer.doCheckpoint(GridCacheDatabaseSharedManager.java:2704)
        at org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager$Checkpointer.body(GridCacheDatabaseSharedManager.java:2629)
        at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
        at java.lang.Thread.run(Thread.java:745)
      

      threre are 2 sequential invocations grp.topology().currentLocalPartitions() in
      GridCacheDatabaseSharedManager.Checkpointer#markCheckpointBegin
      it's assumed that results must be equal, but they doesn't actually.

      Possible problem is in
      org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionTopologyImpl#forceCreatePartition
      it does not check for checkpoint lock
      ctx.database().checkpointLockIsHeldByThread();

      Attachments

        Activity

          People

            agoncharuk Alexey Goncharuk
            macrergate Sergey Kosarev
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: