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

Aleksey Plekhanov edited comment on IGNITE-7818 at 5/29/18 8:58 AM:
--------------------------------------------------------------------

I write a 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.


was (Author: alex_pl):
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)

Reply via email to