[
https://issues.apache.org/jira/browse/IGNITE-8625?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ivan Rakov updated IGNITE-8625:
-------------------------------
Description:
After recreation of previously dropped SQL index (in persistent mode), root
page of new index B+ tree may contain links to data entries from previous index
tree. If these entries were removed or relocated to another data page, attempt
to dereference these links may throw AssertionError or even cause JVM crash.
Patch with reproducer is attached.
P.S. Please note that with IGNITE-4958 fix old invalid links may refer to
non-data page - it might have been recycled into page with any other type. Such
case will cause AssertionError on page read lock attempt. Rolling back
IGNITE-4958 may help with debugging.
was:
After recreation of previously dropped SQL index (in persistent mode), root
page of new index B+ tree may contain links to data entries from previous index
tree. If these entries were removed or relocated to another data page, attempt
to dereference these links may throw AssertionError or even cause JVM crash.
Patch with reproducer is attached.
Please note that with IGNITE-4958 fix old invalid links may refer to non-data
page - it might have been recycled into page with any other type. Such case
will cause AssertionError on page read lock attempt. Rolling back of
IGNITE-4958 may help with debugging.
> Dynamic SQL index recreate after cache clear may result in AssertionError or
> JVM crash
> --------------------------------------------------------------------------------------
>
> Key: IGNITE-8625
> URL: https://issues.apache.org/jira/browse/IGNITE-8625
> Project: Ignite
> Issue Type: Bug
> Components: persistence, sql
> Reporter: Ivan Rakov
> Assignee: Alexey Stelmak
> Priority: Critical
> Fix For: 2.6
>
> Attachments: dyn_idx_reproducer.patch
>
>
> After recreation of previously dropped SQL index (in persistent mode), root
> page of new index B+ tree may contain links to data entries from previous
> index tree. If these entries were removed or relocated to another data page,
> attempt to dereference these links may throw AssertionError or even cause JVM
> crash.
> Patch with reproducer is attached.
> P.S. Please note that with IGNITE-4958 fix old invalid links may refer to
> non-data page - it might have been recycled into page with any other type.
> Such case will cause AssertionError on page read lock attempt. Rolling back
> IGNITE-4958 may help with debugging.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)