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

Richa Bali commented on IGNITE-5405:
------------------------------------

Sometimes in our project, we observed this issue for entries that were not even 
removed or evicted.

> Null values in comparator for EvictableEntry
> --------------------------------------------
>
>                 Key: IGNITE-5405
>                 URL: https://issues.apache.org/jira/browse/IGNITE-5405
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache
>    Affects Versions: 2.0
>            Reporter: Richa Bali
>         Attachments: Ignite_Project.7z, No null value logs.txt, Null value 
> logs.txt
>
>
> EvictableEntry has null value for corresponding key.
> *SCENARIO:*
> We cache an object with key as a unique identifier (member variable of the 
> object) and value as the object itself.
> EvictionPolicy used is the SortedEvictionPolicy with our custom comparator.
> Entry is *removed* from cache for some keys but those entries are 
> subsequently passed to comparator with key but null object.
> Sample project is attached.
> *Details of sample project:*
> * DemoEntry class containing mId and mTimeUTC as member variables. mId is the 
> unique identifier used as key for cache and mTimeUTC is the member variable 
> used in DemoComparator.
> * DemoComparator is used for SortedEvictionPolicy on the basis of mTimeUTC.
> * IgniteEvictionListener is the listener to check if the entries are evicted.
> Sample run:
> *DemoProject:*
> * 10 entries are added to cache for which the eviction policy used is 
> SortedEvictionPolicy on the basis of DemoComparator. 
> * Size is set to 5.
> * 2 of the entries are removed and data in cache is printed.
> Note: Removed keys are not used to fetch the data from cache.
> *Observations:*
> Sometimes, null value for the key (not null key) is passed to comparator. 
> Since the data used in sample project is limited to 10 entries only, it is 
> not reproducible in all the runs. It occurs sometimes (may be because of 
> asynchronous behavior).
> But if we try to retrieve even the removed value by commenting lines 62-64 of 
> DemoProject, it is usually reproducible.
> Attached are the sample logs where we retrieved only those values that were 
> not removed.
> * "Null value logs.txt": logs when null value scenario occurred.
> * "No null value logs.txt": logs when null value scenario didn't occur.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to