[ https://issues.apache.org/jira/browse/IGNITE-8747?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrew Mashenkov updated IGNITE-8747: ------------------------------------- Comment: was deleted (was: I've renamed a ticket as ExpiryPolicy shouldn't be applied on remove operation. There is a TCK test on this. So, first get() operation is responsible to expire entry in expire_whenAccessed() test. I've found, on first entry touch we check TTL related to CreatedExpiryPolicy and then update is with AccessExpiryPolicy, but we miss the check if entry should be expired instantly due to newly applied AccessExpiryPolicy. This miss makes next remove() method report about successful entry deletions. Also, this issue was not introduced by IGNITE-8681. It can be easily reproduced on master with eagerTtl=false.) > AccessExpiryPolicy should be check on first entry touch. > -------------------------------------------------------- > > Key: IGNITE-8747 > URL: https://issues.apache.org/jira/browse/IGNITE-8747 > Project: Ignite > Issue Type: Improvement > Components: cache > Reporter: Andrew Mashenkov > Assignee: Andrew Mashenkov > Priority: Major > Labels: MakeTeamcityGreenAgain, tck, test-failure > > We have 2 TCK 1.0 test that are passed due to we have eagerTtl=true by > default. > The reason is remove() return true even if an expired entry was removed. > Seems, we have to evict expired entry from cache on remove(), but do not > count it as removed. > java.lang.AssertionError > at > org.jsr107.tck.expiry.CacheExpiryTest.expire_whenAccessed(CacheExpiryTest.java:326) > java.lang.AssertionError: expected:<0> but was:<1> at > org.jsr107.tck.expiry.CacheExpiryTest.testCacheStatisticsRemoveAll(CacheExpiryTest.java:160) -- This message was sent by Atlassian JIRA (v7.6.3#76005)