You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Dmitriy Setrakyan (JIRA)" <ji...@apache.org> on 2015/04/13 04:00:18 UTC

[jira] [Created] (IGNITE-730) Need to implement TTL-ACCESS-TIME as eviction policy

Dmitriy Setrakyan created IGNITE-730:
----------------------------------------

             Summary: Need to implement TTL-ACCESS-TIME as eviction policy
                 Key: IGNITE-730
                 URL: https://issues.apache.org/jira/browse/IGNITE-730
             Project: Ignite
          Issue Type: Sub-task
          Components: cache, streaming
            Reporter: Dmitriy Setrakyan
            Assignee: Yakov Zhdanov
            Priority: Blocker
             Fix For: sprint-4


# We should reuse our LRU policy for this.
# Just like with CREATE-TIME-TTL policy, we should keep a collection of fix-sized buckets.
# Each bucket can be a List of entries.
# Each bucket should keep a timestamp of when that bucket was crated.
# However, each entry in LRU queue should keep a reference to its bucket and index specifying it's location within that bucket (and vice-versa).

*Access*
Whenever an entry is accessed within some bucket, it should be removed from that bucket and added to the first bucket.

*Eviction*
Whenever (currentTime - bucketCreateTime) > TTL, all the entries in the bucket get evicted. 

We should also add a flag in {{EvictableEntry}} specifying whether the access was read or update, e.g. {{EvictableEntry.isUpdate()}}.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)