You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vladimir Ozerov (JIRA)" <ji...@apache.org> on 2017/11/14 12:28:00 UTC
[jira] [Resolved] (IGNITE-6901)
IgniteH2Indexing#rebuildIndexesFromHash should pass old value to indexing
engine
[ https://issues.apache.org/jira/browse/IGNITE-6901?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vladimir Ozerov resolved IGNITE-6901.
-------------------------------------
Resolution: Fixed
> 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}
> 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)