Github user ben-manes commented on the issue:
https://github.com/apache/metron/pull/1015
Cache eviction is performed asynchronously by default using the FJP common
pool. For testing you can set `executor(Runnable::run)` and it will be on the
calling thread. The penalty is small so itâs sometimes used in practice
anyway.
The eviction is not LRU and has a random seed to guard against HashDoS
attacks. This means that which entry is not predictable without forcing the
seed, which is not exposed. Typically only the cacheâs test should do that.
Youâre code shouldnât make assumptions on what is evicted as we will try to
maximize the hit rate using various techniques.
---