Andrey Mashenkov created IGNITE-16426:
-----------------------------------------

             Summary: Add tests for known scenarios that lead to index 
corruption.
                 Key: IGNITE-16426
                 URL: https://issues.apache.org/jira/browse/IGNITE-16426
             Project: Ignite
          Issue Type: Test
            Reporter: Andrey Mashenkov


Let's add test for next known scenarios that lead to index tree corruption.
 # Dropping cache while index (re)build is in progress lead to index 
corruption. 
In that case, a put operation will failed after the cache re-creation due to 
BTree corruption.
Seems, we forgot to drop the index tree for incomplete index when the index 
(re)build task aborted. 
 # Affinity index can be shadowed by a user cache (composite or not), which the 
very first column is affinity column.
On node start, we detect if there is such user index available and use the user 
index, and use Affinity_Key system index otherwise. 
Thus if a user adds or removes such index between node restart, Ignite can 
switch either to one or to another tree, and this leads to inconsistent indices 
and corruption.
 # Similar to p.2. , a user can get a corrupted tree if he drops a cache with 
such index,
and create a new cache with the same name.
A new cache will 'resurrect' system Affinity_Key from the old cache.
Seems, we never cleanup  Affinity_Key on cache destroy if it is shadowed by the 
user index.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to