[jira] [Commented] (IGNITE-7818) Incorrect assertion in PDS page eviction method
[ https://issues.apache.org/jira/browse/IGNITE-7818?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16506249#comment-16506249 ] ASF GitHub Bot commented on IGNITE-7818: Github user asfgit closed the pull request at: https://github.com/apache/ignite/pull/4024 > Incorrect assertion in PDS page eviction method > --- > > Key: IGNITE-7818 > URL: https://issues.apache.org/jira/browse/IGNITE-7818 > Project: Ignite > Issue Type: Bug > Components: persistence >Reporter: Aleksey Plekhanov >Assignee: Ivan Fedotov >Priority: Major > Fix For: 2.6 > > Attachments: PageMemoryPdsAssertTest.java > > > There is an assertion in the method > org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.Segment#removePageForReplacement: > > {code:java} > assert relRmvAddr != INVALID_REL_PTR;{code} > Which seems potentially dangerous. In some rare cases, when count of > interations more then 40% of allocated pages and all processed pages are > aquired, the {{relRmvAddr}} variable will be uninitialized and > {{AssertionException}} will be thrown. But it's a correct case and page to > evict can be found later in the method {{tryToFindSequentially.}} > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-7818) Incorrect assertion in PDS page eviction method
[ https://issues.apache.org/jira/browse/IGNITE-7818?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16502067#comment-16502067 ] Aleksey Plekhanov commented on IGNITE-7818: --- [~ivanan.fed] Looks good to me. > Incorrect assertion in PDS page eviction method > --- > > Key: IGNITE-7818 > URL: https://issues.apache.org/jira/browse/IGNITE-7818 > Project: Ignite > Issue Type: Bug > Components: persistence >Reporter: Aleksey Plekhanov >Assignee: Ivan Fedotov >Priority: Major > Fix For: 2.6 > > Attachments: PageMemoryPdsAssertTest.java > > > There is an assertion in the method > org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.Segment#removePageForReplacement: > > {code:java} > assert relRmvAddr != INVALID_REL_PTR;{code} > Which seems potentially dangerous. In some rare cases, when count of > interations more then 40% of allocated pages and all processed pages are > aquired, the {{relRmvAddr}} variable will be uninitialized and > {{AssertionException}} will be thrown. But it's a correct case and page to > evict can be found later in the method {{tryToFindSequentially.}} > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-7818) Incorrect assertion in PDS page eviction method
[ https://issues.apache.org/jira/browse/IGNITE-7818?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16502058#comment-16502058 ] Ivan Fedotov commented on IGNITE-7818: -- [~dpavlov], I've took into account your remark and edit patch according to it. [~alex_pl], thank you for reproducer, it really helped me. Collegues, what do you think about this patch now? > Incorrect assertion in PDS page eviction method > --- > > Key: IGNITE-7818 > URL: https://issues.apache.org/jira/browse/IGNITE-7818 > Project: Ignite > Issue Type: Bug > Components: persistence >Reporter: Aleksey Plekhanov >Assignee: Ivan Fedotov >Priority: Major > Fix For: 2.6 > > Attachments: PageMemoryPdsAssertTest.java > > > There is an assertion in the method > org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.Segment#removePageForReplacement: > > {code:java} > assert relRmvAddr != INVALID_REL_PTR;{code} > Which seems potentially dangerous. In some rare cases, when count of > interations more then 40% of allocated pages and all processed pages are > aquired, the {{relRmvAddr}} variable will be uninitialized and > {{AssertionException}} will be thrown. But it's a correct case and page to > evict can be found later in the method {{tryToFindSequentially.}} > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-7818) Incorrect assertion in PDS page eviction method
[ https://issues.apache.org/jira/browse/IGNITE-7818?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16492840#comment-16492840 ] Aleksey Plekhanov commented on IGNITE-7818: --- I write an reproducer for this bug ( [^PageMemoryPdsAssertTest.java]). It's realy not enough to just remove assertion. Instead, I think, we can return {{tryToFindSequentially}} if address is invalid. > Incorrect assertion in PDS page eviction method > --- > > Key: IGNITE-7818 > URL: https://issues.apache.org/jira/browse/IGNITE-7818 > Project: Ignite > Issue Type: Bug > Components: persistence >Reporter: Aleksey Plekhanov >Assignee: Ivan Fedotov >Priority: Major > Attachments: PageMemoryPdsAssertTest.java > > > There is an assertion in the method > org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.Segment#removePageForReplacement: > > {code:java} > assert relRmvAddr != INVALID_REL_PTR;{code} > Which seems potentially dangerous. In some rare cases, when count of > interations more then 40% of allocated pages and all processed pages are > aquired, the {{relRmvAddr}} variable will be uninitialized and > {{AssertionException}} will be thrown. But it's a correct case and page to > evict can be found later in the method {{tryToFindSequentially.}} > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-7818) Incorrect assertion in PDS page eviction method
[ https://issues.apache.org/jira/browse/IGNITE-7818?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16484080#comment-16484080 ] Dmitriy Pavlov commented on IGNITE-7818: I'm not sure I agree with fix, we still can't operate if we got invalid PTR after while execution. > Incorrect assertion in PDS page eviction method > --- > > Key: IGNITE-7818 > URL: https://issues.apache.org/jira/browse/IGNITE-7818 > Project: Ignite > Issue Type: Bug > Components: persistence >Reporter: Aleksey Plekhanov >Assignee: Ivan Fedotov >Priority: Major > > There is an assertion in the method > org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.Segment#removePageForReplacement: > > {code:java} > assert relRmvAddr != INVALID_REL_PTR;{code} > Which seems potentially dangerous. In some rare cases, when count of > interations more then 40% of allocated pages and all processed pages are > aquired, the {{relRmvAddr}} variable will be uninitialized and > {{AssertionException}} will be thrown. But it's a correct case and page to > evict can be found later in the method {{tryToFindSequentially.}} > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-7818) Incorrect assertion in PDS page eviction method
[ https://issues.apache.org/jira/browse/IGNITE-7818?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16482959#comment-16482959 ] Ivan Fedotov commented on IGNITE-7818: -- [~alex_pl], [~SomeFire] thanks! [~dpavlov], can you look at this PR, please? > Incorrect assertion in PDS page eviction method > --- > > Key: IGNITE-7818 > URL: https://issues.apache.org/jira/browse/IGNITE-7818 > Project: Ignite > Issue Type: Bug > Components: persistence >Reporter: Aleksey Plekhanov >Assignee: Ivan Fedotov >Priority: Major > > There is an assertion in the method > org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.Segment#removePageForReplacement: > > {code:java} > assert relRmvAddr != INVALID_REL_PTR;{code} > Which seems potentially dangerous. In some rare cases, when count of > interations more then 40% of allocated pages and all processed pages are > aquired, the {{relRmvAddr}} variable will be uninitialized and > {{AssertionException}} will be thrown. But it's a correct case and page to > evict can be found later in the method {{tryToFindSequentially.}} > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-7818) Incorrect assertion in PDS page eviction method
[ https://issues.apache.org/jira/browse/IGNITE-7818?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16482888#comment-16482888 ] Aleksey Plekhanov commented on IGNITE-7818: --- [~ivanan.fed] LGTM > Incorrect assertion in PDS page eviction method > --- > > Key: IGNITE-7818 > URL: https://issues.apache.org/jira/browse/IGNITE-7818 > Project: Ignite > Issue Type: Bug > Components: persistence >Reporter: Aleksey Plekhanov >Assignee: Ivan Fedotov >Priority: Major > > There is an assertion in the method > org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.Segment#removePageForReplacement: > > {code:java} > assert relRmvAddr != INVALID_REL_PTR;{code} > Which seems potentially dangerous. In some rare cases, when count of > interations more then 40% of allocated pages and all processed pages are > aquired, the {{relRmvAddr}} variable will be uninitialized and > {{AssertionException}} will be thrown. But it's a correct case and page to > evict can be found later in the method {{tryToFindSequentially.}} > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-7818) Incorrect assertion in PDS page eviction method
[ https://issues.apache.org/jira/browse/IGNITE-7818?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16482400#comment-16482400 ] Ryabov Dmitrii commented on IGNITE-7818: Code is ok for me. Tests looks good. > Incorrect assertion in PDS page eviction method > --- > > Key: IGNITE-7818 > URL: https://issues.apache.org/jira/browse/IGNITE-7818 > Project: Ignite > Issue Type: Bug > Components: persistence >Reporter: Aleksey Plekhanov >Assignee: Ivan Fedotov >Priority: Major > > There is an assertion in the method > org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.Segment#removePageForReplacement: > > {code:java} > assert relRmvAddr != INVALID_REL_PTR;{code} > Which seems potentially dangerous. In some rare cases, when count of > interations more then 40% of allocated pages and all processed pages are > aquired, the {{relRmvAddr}} variable will be uninitialized and > {{AssertionException}} will be thrown. But it's a correct case and page to > evict can be found later in the method {{tryToFindSequentially.}} > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-7818) Incorrect assertion in PDS page eviction method
[ https://issues.apache.org/jira/browse/IGNITE-7818?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16480589#comment-16480589 ] ASF GitHub Bot commented on IGNITE-7818: GitHub user 1vanan opened a pull request: https://github.com/apache/ignite/pull/4024 IGNITE-7818 You can merge this pull request into a Git repository by running: $ git pull https://github.com/1vanan/ignite IGNITE-7818 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/ignite/pull/4024.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 #4024 commit bd5fce8c99477abaabe5d3242d5a95c5b7988920 Author: FedotovDate: 2018-05-08T09:21:05Z change javaDoc in IgniteDataStreamer commit 833a468aa5a05c478bf1231f313692d496f879c1 Author: Fedotov Date: 2018-05-18T12:18:24Z remove assertion > Incorrect assertion in PDS page eviction method > --- > > Key: IGNITE-7818 > URL: https://issues.apache.org/jira/browse/IGNITE-7818 > Project: Ignite > Issue Type: Bug > Components: persistence >Reporter: Aleksey Plekhanov >Assignee: Ivan Fedotov >Priority: Major > > There is an assertion in the method > org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.Segment#removePageForReplacement: > > {code:java} > assert relRmvAddr != INVALID_REL_PTR;{code} > Which seems potentially dangerous. In some rare cases, when count of > interations more then 40% of allocated pages and all processed pages are > aquired, the {{relRmvAddr}} variable will be uninitialized and > {{AssertionException}} will be thrown. But it's a correct case and page to > evict can be found later in the method {{tryToFindSequentially.}} > -- This message was sent by Atlassian JIRA (v7.6.3#76005)