[
https://issues.apache.org/jira/browse/CASSANDRA-11452?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15242133#comment-15242133
]
Ben Manes commented on CASSANDRA-11452:
---------------------------------------
{{quote}}
I think it's better for the jitter to not affect the victim, since if there is
a collision that doesn't get flushed out that would permit the cache efficiency
to remain degraded indefinitely
{{quote}}
I'd expect the collision would be flushed out by the eviction when we detect
that the victim's and candidates hash codes are equal. To me the victim means
the item that the eviction policy selected, so the jittered LRU is selecting
the guard. It might also be simpler code that method is long to handle the
various edge cases.
{{quote}}
I don't recall that suggestion, and don't see a corresponding change in the
codebase; remind me?
{{quote}}
Sorry this is existing code in the sketch, as suggested by Thomas Meuller (H2).
That was to protect against hash collision attacks exploiting the hash
function. I know this is a bit weak since Java originally tried that and
switched to red-black tree bins instead. It provides a little unpredictability
on the sketch which might be a good thing.
{{quote}}
There's a wealth of possible avenues to explore.
{{quote}}
I'm really interested to see what other avenues people take to exploit sketches
in a cache policy. The two citations of the original paper were dismissive. I
think the revision has more weight due to the comparative analysis. There seems
to be a lot of optimization tricks to explore. Unfortunately good traces are
also hard to find.
> Cache implementation using LIRS eviction for in-process page cache
> ------------------------------------------------------------------
>
> Key: CASSANDRA-11452
> URL: https://issues.apache.org/jira/browse/CASSANDRA-11452
> 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
(v6.3.4#6332)