[ 
https://issues.apache.org/jira/browse/IGNITE-5405?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Richa Bali updated IGNITE-5405:
-------------------------------
    Attachment:     (was: Ignite_Project.7z)

> 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. 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.
> Sample project is also attached. 



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

Reply via email to