Aleksey Plekhanov created IGNITE-19495:
------------------------------------------

             Summary: SQL onheap cache stores row on per-cache basis, but 
access these rows on per-index basis
                 Key: IGNITE-19495
                 URL: https://issues.apache.org/jira/browse/IGNITE-19495
             Project: Ignite
          Issue Type: Bug
            Reporter: Aleksey Plekhanov
            Assignee: Aleksey Plekhanov


If there are two indexes on the same cache and sqlOnHeapCache property is 
enabled there can be node failures such as:
{noformat}
org.apache.ignite.internal.processors.cache.persistence.tree.CorruptedTreeException:
 B+Tree is corrupted [groupId=-917681634, pageIds=[844420635164678], 
cacheId=-917681634, cacheName=..., indexName=_key_PK, msg=Runtime failure on 
row: Row@71aeb1b9[ ... ][  ]]
...
Caused by: org.apache.ignite.IgniteException: Failed to store new index row.
...
Caused by: java.lang.UnsupportedOperationException: 13 cannot be used for 
inline type 19
{noformat}
Root cause: {{IndexRowCache}} is created per cache group (see 
{{IndexRowCacheRegistry#onCacheRegistered}}), but stores {{IndexRowImpl}} 
binded to particular index (see {{InlineIndexTree#createIndexRow}}). In case, 
when another index requires the same data row, it gets row from the onheap 
cache with the wrong index row handler.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to