[jira] [Created] (IGNITE-6901) IgniteH2Indexing#rebuildIndexesFromHash should pass old value to indexing engine

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (IGNITE-6901) IgniteH2Indexing#rebuildIndexesFromHash should pass old value to indexing engine

Anton Vinogradov (Jira)
Vladimir Ozerov created IGNITE-6901:
---------------------------------------

             Summary: IgniteH2Indexing#rebuildIndexesFromHash should pass old value to indexing engine
                 Key: IGNITE-6901
                 URL: https://issues.apache.org/jira/browse/IGNITE-6901
             Project: Ignite
          Issue Type: Task
      Security Level: Public (Viewable by anyone)
          Components: cache, persistence, sql
            Reporter: Vladimir Ozerov
            Assignee: Alexey Goncharuk
             Fix For: 2.4


When index rebuild is triggered, index is updated from the method {{IgniteCacheOffheapManagerImpl.CacheDataStoreImpl.updateIndexes}}. Notice how we always pass {{null}} as previous row value. It breaks recent optimization which use previous value to avoid old row materialization IGNITE-6701, so assertion like this is observed:
{code}
[00:30:30][org.gridgain:gridgain-ultimate] Exception in thread "pub-#25397%database.IgniteDbSnapshotNotStableTopologiesTest3%" java.lang.AssertionError: Replaced: true
[00:30:30][org.gridgain:gridgain-ultimate] at org.apache.ignite.internal.processors.query.h2.opt.GridH2Table.update(GridH2Table.java:451)
[00:30:30][org.gridgain:gridgain-ultimate] at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.store(IgniteH2Indexing.java:581)
[00:30:30][org.gridgain:gridgain-ultimate] at org.apache.ignite.internal.processors.query.GridQueryProcessor.store(GridQueryProcessor.java:1748)
[00:30:30][org.gridgain:gridgain-ultimate] at org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.store(GridCacheQueryManager.java:406)
[00:30:30][org.gridgain:gridgain-ultimate] at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.updateIndexes(IgniteCacheOffheapManagerImpl.java:1375)
[00:30:30][org.gridgain:gridgain-ultimate] at org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.updateIndexes(GridCacheOffheapManager.java:1242)
[00:30:30][org.gridgain:gridgain-ultimate] at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.updateIndexes(IgniteCacheOffheapManagerImpl.java:364)
[00:30:30][org.gridgain:gridgain-ultimate] at org.apache.ignite.internal.processors.cache.GridCacheMapEntry.ensureIndexed(GridCacheMapEntry.java:3149)
[00:30:30][org.gridgain:gridgain-ultimate] at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.rebuildIndexesFromHash(IgniteH2Indexing.java:2030)
{code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)