[
https://issues.apache.org/jira/browse/IGNITE-15026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17386404#comment-17386404
]
Ignite TC Bot commented on IGNITE-15026:
----------------------------------------
{panel:title=Branch: [pull/9207/head] Base: [master] : No blockers
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/9207/head] Base: [master] : New Tests
(13)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#00008b}PDS (Indexing){color} [[tests
12|https://ci.ignite.apache.org/viewLog.html?buildId=6100112]]
* {color:#013220}IgnitePdsWithIndexingTestSuite:
DropIndexTest.testDonotAddTaskOnDeactivateForInMemory - PASSED{color}
* {color:#013220}IgnitePdsWithIndexingTestSuite:
DropIndexTest.testExecuteTaskOnDropIdxAfterReActivatedForInMemory -
PASSED{color}
* {color:#013220}IgnitePdsWithIndexingTestSuite:
DropIndexTest.testExecuteTaskOnDropIdxForInMemory - PASSED{color}
* {color:#013220}IgnitePdsWithIndexingTestSuite:
DropIndexTest.testDestroyIndexTreesForInMemory - PASSED{color}
* {color:#013220}IgnitePdsWithIndexingTestSuite:
DropIndexTest.testExecuteTaskOnDropIdxAfterReActivated - PASSED{color}
* {color:#013220}IgnitePdsWithIndexingTestSuite:
DropIndexTest.testCorrectTaskExecute - PASSED{color}
* {color:#013220}IgnitePdsWithIndexingTestSuite:
DropIndexTest.testDestroyIndexTrees - PASSED{color}
* {color:#013220}IgnitePdsWithIndexingTestSuite:
DropIndexTest.testTaskNotExecuteIfAbsentCacheGroupOrRootPages - PASSED{color}
* {color:#013220}IgnitePdsWithIndexingTestSuite:
DropIndexTest.testExecuteTaskOnDropIdxAfterRestart - PASSED{color}
* {color:#013220}IgnitePdsWithIndexingTestSuite:
DropIndexTest.testExecuteTaskOnDropIdx - PASSED{color}
* {color:#013220}IgnitePdsWithIndexingTestSuite:
RenameIndexTreeTest.testRenameFromTask - PASSED{color}
... and 1 new tests
{color:#00008b}PDS 1{color} [[tests
1|https://ci.ignite.apache.org/viewLog.html?buildId=6100114]]
* {color:#013220}IgnitePdsTestSuite:
DurableBackgroundTasksProcessorSelfTest.testConvertAfterRestoreIfNeeded -
PASSED{color}
{panel}
[TeamCity *--> Run :: All*
Results|https://ci.ignite.apache.org/viewLog.html?buildId=6100144&buildTypeId=IgniteTests24Java8_RunAll]
> Remove storage of physical page ids in a DurableBackgroundCleanupIndexTreeTask
> ------------------------------------------------------------------------------
>
> Key: IGNITE-15026
> URL: https://issues.apache.org/jira/browse/IGNITE-15026
> Project: Ignite
> Issue Type: Improvement
> Components: persistence, sql
> Reporter: Kirill Tkalenko
> Assignee: Kirill Tkalenko
> Priority: Major
> Fix For: 2.12
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> DurableBackgroundCleanupIndexTreeTask does one bad thing - it stores page id
> into a logical metastorage record. BUT, there are no guarantees that this
> page exists in current checkpoint state on the storage device.
> Imagine that someone waits for checkpoint, then before the next checkpoint
> they create SQL index, then drop it and end the process with "kill -9".
> There's a chance that something like this could happen by accident.
> Then page id in DurableBackgroundCleanupIndexTreeTask will either point to a
> nonexistent page (trace 1) or to the existing page that has nothing to do
> with meta tree (trace 2).
> {noformat}
> java.lang.ArrayIndexOutOfBoundsException: 4937
> at
> org.apache.ignite.internal.processors.cache.persistence.file.FilePageStoreManager.getStore(FilePageStoreManager.java:1085)
> at
> org.apache.ignite.internal.processors.cache.persistence.pagemem.PageReadWriteManagerImpl.read(PageReadWriteManagerImpl.java:65)
> at
> org.apache.ignite.internal.processors.cache.persistence.file.FilePageStoreManager.read(FilePageStoreManager.java:510)
> at
> org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.acquirePage(PageMemoryImpl.java:871)
> at
> org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.acquirePage(PageMemoryImpl.java:697)
> at
> org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.acquirePage(PageMemoryImpl.java:686)
> at
> org.apache.ignite.internal.processors.cache.persistence.DataStructure.acquirePage(DataStructure.java:185)
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.acquirePage(BPlusTree.java:6061)
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.destroyDownPages(BPlusTree.java:2607)
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.destroy(BPlusTree.java:2555)
> at
> org.apache.ignite.internal.processors.query.h2.DurableBackgroundCleanupIndexTreeTask.execute(DurableBackgroundCleanupIndexTreeTask.java:231)
> at
> org.apache.ignite.internal.processors.localtask.DurableBackgroundTasksProcessor$1.body(DurableBackgroundTasksProcessor.java:121)
> at
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:119)
> at java.lang.Thread.run(Thread.java:748)
> {noformat}
> {noformat}
> 4d11-9351-08a40b89548c
> java.lang.IllegalStateException: Failed to get page IO instance (page content
> is corrupted)
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.io.IOVersions.forVersion(IOVersions.java:84)
> at
> org.apache.ignite.internal.processors.cache.persistence.tree.io.IOVersions.forPage(IOVersions.java:96)
> at
> org.apache.ignite.internal.processors.query.h2.database.H2Tree.getMetaInfo(H2Tree.java:508)
> at
> org.apache.ignite.internal.processors.query.h2.database.H2Tree.<init>(H2Tree.java:240)
> at
> org.apache.ignite.internal.processors.query.h2.DurableBackgroundCleanupIndexTreeTask$H2TreeToDestroy.<init>(DurableBackgroundCleanupIndexTreeTask.java:359)
> at
> org.apache.ignite.internal.processors.query.h2.DurableBackgroundCleanupIndexTreeTask.execute(DurableBackgroundCleanupIndexTreeTask.java:208)
> at
> org.apache.ignite.internal.processors.localtask.DurableBackgroundTasksProcessor$1.body(DurableBackgroundTasksProcessor.java:121)
> at
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:119)
> at java.lang.Thread.run(Thread.java:748)
> {noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)