Andrew Mashenkov created IGNITE-8681:
----------------------------------------
Summary: Using ExpiryPolicy with persistence causes significant
slowdown.
Key: IGNITE-8681
URL: https://issues.apache.org/jira/browse/IGNITE-8681
Project: Ignite
Issue Type: Improvement
Reporter: Andrew Mashenkov
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)