[
https://issues.apache.org/jira/browse/IGNITE-8681?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16503083#comment-16503083
]
Andrew Mashenkov commented on IGNITE-8681:
------------------------------------------
I believe this failure caused by throttling for in-memory mode. I've disable it
and re-run test [1].
We have flacky test IgnitePdsWithTtlTest.testTtlIsAppliedAfterRestart.
I'm in the middle of investigation and seems, we have a bug in
GridCacheMapEntry.innerGet0() method that ignores entry expiration is some
cases. Most probably, this bug is causes TCK test failures.
[1]https://ci.ignite.apache.org/viewLog.html?buildId=1363555&tab=buildResultsDiv&buildTypeId=IgniteTests24Java8_JCacheTck
> Using ExpiryPolicy with persistence causes significant slowdown.
> ----------------------------------------------------------------
>
> Key: IGNITE-8681
> URL: https://issues.apache.org/jira/browse/IGNITE-8681
> Project: Ignite
> Issue Type: Improvement
> Components: cache
> Reporter: Andrew Mashenkov
> Assignee: Andrew Mashenkov
> Priority: Critical
> Labels: performance
> Fix For: 2.6
>
>
> Almost all ignite operations calls CU.unwindEvicts() on finish to help to
> evict expired entries.
> In unwindEvicts(), threads iterate over all node partitions and check every
> partition PendingTree for expired entries. This costs too much.
> We already have a flag on per-cachegroup basis that indicated ExpiryPolicy is
> used. It raised once expiring entry has been put to cache or we initialize
> non-empty pending tree from persistence.
> So, we have to optimize a case when there is no expired pending entries, but
> pending tree is non-empty.
> We can add some throttling on per-partition basis to reduce useless pending
> tree lookups.
> E.g. if there is nothing to clean, no thread should check partition during
> next 100ms interval.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)