[
https://issues.apache.org/jira/browse/IGNITE-28653?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Aleksey Plekhanov updated IGNITE-28653:
---------------------------------------
Labels: MakeTeamcityGreenAgain ise (was: ise)
> Failure on iterating over persistent near cache with expired entries
> --------------------------------------------------------------------
>
> Key: IGNITE-28653
> URL: https://issues.apache.org/jira/browse/IGNITE-28653
> Project: Ignite
> Issue Type: Bug
> Reporter: Aleksey Plekhanov
> Assignee: Aleksey Plekhanov
> Priority: Major
> Labels: MakeTeamcityGreenAgain, ise
> Time Spent: 40m
> Remaining Estimate: 0h
>
> Reproducer:
> {code:java}
> IgniteEx srv = startGrids(2);
> srv.cluster().state(ACTIVE);
> IgniteCache<Object, Object> cache = srv.getOrCreateCache(new
> CacheConfiguration<>(DEFAULT_CACHE_NAME)
> .setNearConfiguration(new NearCacheConfiguration<>())
> .setExpiryPolicyFactory(CreatedExpiryPolicy.factoryOf(new
> Duration(TimeUnit.MILLISECONDS, 1)))
> .setEagerTtl(false)
> );
> for (int i = 0; i < 100; i++)
> cache.put(i, "val");
> doSleep(10);
> cache.clear();
> {code}
> Fails with:
> {noformat}
> Caused by: java.lang.AssertionError
> at
> org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.remove(GridCacheOffheapManager.java:2519)
> at
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.remove(IgniteCacheOffheapManagerImpl.java:427)
> at
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.removeValue(GridCacheMapEntry.java:3539)
> at
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.checkExpired(GridCacheMapEntry.java:2398)
> at
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.visitable(GridCacheMapEntry.java:3805)
> at
> org.apache.ignite.internal.processors.cache.GridCacheConcurrentMapImpl$1.apply(GridCacheConcurrentMapImpl.java:328)
> at
> org.apache.ignite.internal.processors.cache.GridCacheConcurrentMapImpl$1.apply(GridCacheConcurrentMapImpl.java:326)
> at
> org.apache.ignite.internal.util.lang.gridfunc.TransformFilteringIterator.hasNextX(TransformFilteringIterator.java:90)
> at
> org.apache.ignite.internal.util.lang.GridIteratorAdapter.hasNext(GridIteratorAdapter.java:45)
> at
> org.apache.ignite.internal.processors.cache.distributed.dht.GridCachePartitionedConcurrentMap$PartitionedIterator.hasNext(GridCachePartitionedConcurrentMap.java:186)
> at
> org.apache.ignite.internal.processors.cache.GridCacheClearAllRunnable.run(GridCacheClearAllRunnable.java:79)
> at
> org.apache.ignite.internal.processors.cache.distributed.near.GridNearCacheClearAllRunnable.run(GridNearCacheClearAllRunnable.java:52)
> at
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.clearLocally(GridCacheAdapter.java:1084)
> at
> org.apache.ignite.internal.processors.cache.GridCacheProxyImpl.clearLocally(GridCacheProxyImpl.java:992)
> at
> org.apache.ignite.internal.processors.cache.GridCacheAdapter$GlobalClearAllJob.localExecute(GridCacheAdapter.java:5195)
> {noformat}
> Can also be reproduced without `setEagerTtl(false)` with the same error, but
> there is a race and reproducer is more complex.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)