You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Andrew Mashenkov (JIRA)" <ji...@apache.org> on 2018/06/01 14:25:00 UTC

[jira] [Assigned] (IGNITE-8681) Using ExpiryPolicy with persistence causes significant slowdown.

     [ https://issues.apache.org/jira/browse/IGNITE-8681?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrew Mashenkov reassigned IGNITE-8681:
----------------------------------------

    Assignee: Andrew Mashenkov

> 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
>             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)