Andrey, thanks for the clarification. Abraham, it seems EvictionPolicy is not appropriate solution for your case. BTW, why user session expiration logic is related to cache size ? In case user sessions expire by timeout the more appropriate solution would be listening to EVT_CACHE_OBJECT_EXPIRED event. You can also set eager expiration by calling CacheConfiguration.setEagerTtl(true) to make Ignite expire values automatically.
Did this help? 2016-05-13 19:49 GMT+03:00 Andrey Gura <ag...@gridgain.com>: > Alexei, Abraham, > > Eviction policy configuration doesn't make sense for OFFHEAP_TIERED mode. > Eviction policy works only for on heap entries in order to evict entries to > offheap. > > For eviction of entries from offheap memory Ignite internaly uses other > LRU eviction policy and there is no way to change this behaviour via > configuration. > > On Thu, May 12, 2016 at 7:14 PM, Alexei Scherbakov < > alexey.scherbak...@gmail.com> wrote: > >> Hi, >> >> I was not able to reproduce your case. >> In my test I have correct old value on eviction event. >> Please provide a reproducer. >> >> BTW: what are you trying to accomplish? Generally events are not very >> good for cluster performance and may not be delivered in case of the >> listener node failure. >> >> 2016-05-10 9:26 GMT+03:00 abraham <a.muel...@qriously.com>: >> >>> Hi, >>> >>> I am re-posting an earlier message to which I did not get any replies >>> because I was not subscribed to the mailing list: >>> >>> I am trying to get the values from the eviction events. This works fine >>> with >>> the ONHEAP_TIERED version but not with OFFHEAP_VALUES and OFFHEAP_TIERED >>> - >>> in that cases the hasOldValue is true but the actual value is null. >>> >>> What we are trying to accomplish is to persist entries to a database only >>> when they either get removed, expired or evicted because the max cache >>> size >>> is reached and it looks like those events are the only way to accomplish >>> this. >>> >>> A quick glance at the code would suggest that in the >>> org.apache.ignite.internal.processors.cache.GridCacheEvictionManager one >>> could replace line 708 from >>> >>> CacheObject oldVal = recordable ? entry.rawGet() : null; >>> >>> to >>> >>> CacheObject oldVal = recordable ? entry.rawGetOrUnmarshal(false) : null; >>> >>> to get the values attached to the events. Would that work? >>> >>> Thanks, >>> >>> Abraham >>> >>> >>> >>> -- >>> View this message in context: >>> http://apache-ignite-users.70518.x6.nabble.com/Eviction-Events-with-offheap-values-tp4853.html >>> Sent from the Apache Ignite Users mailing list archive at Nabble.com. >>> >> >> >> >> -- >> >> Best regards, >> Alexei Scherbakov >> > > > > -- > Andrey Gura > GridGain Systems, Inc. > www.gridgain.com > -- Best regards, Alexei Scherbakov