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

Indexes aren't cleaned on cache clear/destroy

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • 2.1
    • 2.3
    • sql

    Description

      Curently on cache clear or destroy cache in a group, where other caches exist (this operation executes cache clear internally) the query indexes (if present) aren't cleaned/destroyed.

      IgniteCacheOffheapManagerImpl.CacheDataStoreImpl#clear has to call finishUpdate(...)

      This leads issues on next insertions or updates (on attempt to teplace an alreadyu deleted item)

      org/apache/ignite/internal/processors/cache/persistence/tree/BPlusTree.java:370:

      Caused by: java.lang.AssertionError: itemId=0, directCnt=0, page=0001000100000005 [][][free=970]
      	at org.apache.ignite.internal.processors.cache.persistence.tree.io.DataPageIO.getDataOffset(DataPageIO.java:437)
      	at org.apache.ignite.internal.processors.cache.persistence.tree.io.DataPageIO.readPayload(DataPageIO.java:488)
      	at org.apache.ignite.internal.processors.cache.persistence.CacheDataRowAdapter.initFromLink(CacheDataRowAdapter.java:149)
      	at org.apache.ignite.internal.processors.cache.persistence.CacheDataRowAdapter.initFromLink(CacheDataRowAdapter.java:101)
      	at org.apache.ignite.internal.processors.query.h2.database.H2RowFactory.getRow(H2RowFactory.java:62)
      	at org.apache.ignite.internal.processors.query.h2.database.io.H2ExtrasLeafIO.getLookupRow(H2ExtrasLeafIO.java:124)
      	at org.apache.ignite.internal.processors.query.h2.database.io.H2ExtrasLeafIO.getLookupRow(H2ExtrasLeafIO.java:36)
      	at org.apache.ignite.internal.processors.query.h2.database.H2Tree.getRow(H2Tree.java:123)
      	at org.apache.ignite.internal.processors.query.h2.database.H2Tree.getRow(H2Tree.java:40)
      	at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.getRow(BPlusTree.java:4372)
      	at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Replace.run0(BPlusTree.java:370)
      	at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Replace.run0(BPlusTree.java:330)
      	at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$GetPageHandler.run(BPlusTree.java:4697)
      	at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$GetPageHandler.run(BPlusTree.java:4682)
      	at org.apache.ignite.internal.processors.cache.persistence.tree.util.PageHandler.writePage(PageHandler.java:342)
      	at org.apache.ignite.internal.processors.cache.persistence.DataStructure.write(DataStructure.java:261)
      	at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.access$11200(BPlusTree.java:81)
      	at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Put.tryReplace(BPlusTree.java:2875)
      	at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.putDown(BPlusTree.java:2279)
      	at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.doPut(BPlusTree.java:2006)
      	... 28 more

      Attachments

        Activity

          People

            DmitriyGovorukhin Dmitriy Govorukhin
            gvvinblade Igor Seliverstov
            Votes:
            0 Vote for this issue
            Watchers:
            5 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 - 20m
                20m