[
https://issues.apache.org/jira/browse/IGNITE-8625?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17082738#comment-17082738
]
Dmitriy Sorokin commented on IGNITE-8625:
-----------------------------------------
I investigated this issue using the attached reproducer and ready to list
several facts:
1. Before the fix IGNITE-4958 (change {{0bdfa20c}}) the test failed with AE on
code line
{code:java}
assert len >= 0;
{code}
of method {{PageUtils#getBytes(long, int, int)}}, sometimes causing the JVM
crash on further execution;
2. After the fix IGNITE-4958 till the IGNITE-12061 (change {{dde81742}}) the
test failed with AE on code line
{code:java}
assert pageAddr != 0L : nextLink;
{code}
of method {{CacheDataRowAdapter#initFromLink(CacheGroupContext,
GridCacheSharedContext, PageMemory, RowData)}}
({{CacheDataRowAdapter#doInitFromLink(...)}} since the fix IGNITE-10798, change
{{bc209d08}});
3. Finally, since the fix IGNITE-12061 till the current master branch the test
stopped falling, so I think that this issue was fixed too.
> 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: Dmitriy Sorokin
> Priority: Critical
> Labels: MakeTeamcityGreenAgain, sql-stability
> Fix For: 2.9, 2.8.1
>
> 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
(v8.3.4#803005)