cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benedict (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-11452) Cache implementation using LIRS eviction for in-process page cache
Date Thu, 14 Apr 2016 09:23:25 GMT


Benedict commented on CASSANDRA-11452:

The simplest way would be to accept a hash function that at least operates over long values,
which if not provided just returns the int, or possibly {{int | ((long)int << 32)}}.
 It would be nice if we could operate over larger values, but I don't think that's possible
without negatively impacting Caffeine's footprint.

We can also protect against the attack by simply comparing against a random member of the
LRU for frequency in the LFU on admission, perhaps preferring (exponentially) candidates that
are near to eviction, i.e. generating a number via an extreme value/exponential/zipf RNF and
walking this distance from the head of the eviction queue.  This at least provides a mechanism
that will rapidly prune collisions without affecting behaviour meaningfully.

> Cache implementation using LIRS eviction for in-process page cache
> ------------------------------------------------------------------
>                 Key: CASSANDRA-11452
>                 URL:
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Local Write-Read Paths
>            Reporter: Branimir Lambov
>            Assignee: Branimir Lambov
> Following up from CASSANDRA-5863, to make best use of caching and to avoid having to
explicitly marking compaction accesses as non-cacheable, we need a cache implementation that
uses an eviction algorithm that can better handle non-recurring accesses.

This message was sent by Atlassian JIRA

View raw message