[ 
https://issues.apache.org/jira/browse/IGNITE-7122?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16280103#comment-16280103
 ] 

ASF GitHub Bot commented on IGNITE-7122:
----------------------------------------

GitHub user gg-shq opened a pull request:

    https://github.com/apache/ignite/pull/3157

    IGNITE-7122: Fixed assertion in BPLusTree printing code

    

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/gridgain/apache-ignite ignite-7122

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/ignite/pull/3157.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #3157
    
----
commit 9af2f53973302cc9b39d0707ff8d90fb8dd45008
Author: gg-shq <[email protected]>
Date:   2017-12-06T12:14:53Z

    IGNITE-7122: Fixed assertion BPLusTree printing code

----


> Page lock status is not checked in BPlusTree.treePrinter methods
> ----------------------------------------------------------------
>
>                 Key: IGNITE-7122
>                 URL: https://issues.apache.org/jira/browse/IGNITE-7122
>             Project: Ignite
>          Issue Type: Bug
>          Components: sql
>    Affects Versions: 2.4
>            Reporter: Kirill Shirokov
>            Assignee: Kirill Shirokov
>
> The result of readLock(), which can be 0 is not checked in 
> BPlusTree.treePrinter getChildren() and formatTreeNode() calls:
> {noformat}
> java.lang.AssertionError: 0
>     at 
> org.apache.ignite.internal.pagemem.PageUtils.getLong(PageUtils.java:117)
>     at 
> org.apache.ignite.internal.processors.cache.persistence.tree.io.PageIO.getPageId(PageIO.java:279)
>     at 
> org.apache.ignite.internal.processors.database.BPlusTreeSelfTest.checkPageId(BPlusTreeSelfTest.java:2307)
>     at 
> org.apache.ignite.internal.processors.database.BPlusTreeSelfTest$TestTree.onReadUnlock(BPlusTreeSelfTest.java:2445)
>     at 
> org.apache.ignite.internal.processors.cache.persistence.tree.util.PageHandler.readUnlock(PageHandler.java:203)
>     at 
> org.apache.ignite.internal.processors.cache.persistence.DataStructure.readUnlock(DataStructure.java:186)
>     at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.access$400(BPlusTree.java:82)
>     at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$1.getChildren(BPlusTree.java:163)
>     at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$1.getChildren(BPlusTree.java:120)
>     at 
> org.apache.ignite.internal.util.lang.GridTreePrinter.printTree(GridTreePrinter.java:60)
>     at 
> org.apache.ignite.internal.util.lang.GridTreePrinter.printTree(GridTreePrinter.java:67)
>     at 
> org.apache.ignite.internal.util.lang.GridTreePrinter.print(GridTreePrinter.java:32)
>     at 
> org.apache.ignite.internal.util.lang.GridTreePrinter.print(GridTreePrinter.java:43)
>     at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.printTree(BPlusTree.java:1188)
>     at 
> org.apache.ignite.internal.processors.database.BPlusTreeSelfTest$19.call(BPlusTreeSelfTest.java:1777)
>     at 
> org.apache.ignite.internal.processors.database.BPlusTreeSelfTest$19.call(BPlusTreeSelfTest.java:1771)
>     at 
> org.apache.ignite.testframework.GridTestThread.run(GridTestThread.java:86)
> {noformat}
> ...which causes intermittent failures in the BPlusTree unit tests:
> BPlusTreePageMemoryImplTest.testPutRmvSizeSinglePageContention        
> BPlusTreeReuseListPageMemoryImplTest.testPutRmvSizeSinglePageContention 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to