[
https://issues.apache.org/jira/browse/IGNITE-10291?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16694691#comment-16694691
]
Vladimir Ozerov commented on IGNITE-10291:
------------------------------------------
The problem is located here:
{{GridCacheDatabaseSharedManager#rebuildIndexesIfNeeded}}. When second nodes
goes back it do have index storage initialized
({{IgnitePageStoreManager#hasIndexStore}}), so index rebuild is skipped. But
new index is not there in this storage, so it remains empty. Looks like the fix
should look like this:
1) For every H2 index - check {{GridCacheOffheapManager.indexStorage}} if index
exists (new method will be required)
2) Rebuild indexes which were not found on the previous step.
> Unable to find row by index created on partial baseline topology
> ----------------------------------------------------------------
>
> Key: IGNITE-10291
> URL: https://issues.apache.org/jira/browse/IGNITE-10291
> Project: Ignite
> Issue Type: Bug
> Components: cache, sql
> Affects Versions: 2.4, 2.5, 2.6
> Reporter: Pavel Vinokurov
> Priority: Critical
> Attachments: Reproducer.java
>
>
> Steps to reproduce:
> 1. Start two nodes cluster with persistence.
> 2. Create table
> CREATE TABLE PERSON (
> FIRST_NAME VARCHAR,
> LAST_NAME VARCHAR,
> ADDRESS VARCHAR,
> LANG VARCHAR,
> BIRTH_DATE TIMESTAMP,
> CONSTRAINT PK_PESON PRIMARY KEY (FIRST_NAME,LAST_NAME,ADDRESS,LANG)
> ) WITH "key_type=PersonKeyType, CACHE_NAME=PersonCache,
> value_type=PersonValueType,
> AFFINITY_KEY=FIRST_NAME,template=PARTITIONED,backups=1"
> Insert 1000 rows.
> 3. Stop the second node.
> 4. Create index
> create index PERSON_FIRST_NAME_IDX on PERSON(FIRST_NAME)
> 5. Start the second node
> 6. Perform select query for each row:
> select * from PERSON use index(PERSON_FIRST_NAME_IDX)
> where
> FIRST_NAME=?
> and LAST_NAME=?
> and ADDRESS=?
> and LANG = ?
> Result: The select doesn't return row in half of cases.
> The reproducer is attached.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)