Enum Class RocksDBBlockCacheImplementations

java.lang.Object
java.lang.Enum<RocksDBBlockCacheImplementations>
com.linkedin.davinci.store.rocksdb.RocksDBBlockCacheImplementations
All Implemented Interfaces:
Serializable, Comparable<RocksDBBlockCacheImplementations>, Constable

public enum RocksDBBlockCacheImplementations extends Enum<RocksDBBlockCacheImplementations>
  • Enum Constant Details

    • CLOCK

      public static final RocksDBBlockCacheImplementations CLOCK
      ClockCache implements the CLOCK algorithm. Each shard of the clock cache maintains a circular list of cache entries. A clock handle runs over the circular list looking for unpinned entries to evict, but also giving each entry a second chance to stay in cache if it has been used since last scan. The benefit over LRUCache is it has finer-granularity locking. In case of LRU cache, the per-shard mutex has to be locked even on lookup, since it needs to update its LRU-list. Looking up from a clock cache won't require locking per-shard mutex, but only looking up the concurrent hash map, which has fine-granularity locking. Only inserts needs to lock the per-shard mutex.
    • LRU

      public static final RocksDBBlockCacheImplementations LRU
      Each shard of the cache maintains its own LRU list and its own hash table for lookup. Synchronization is done via a per-shard mutex. Both lookup and insert to the cache would require a locking mutex of the shard.
  • Method Details

    • values

      public static RocksDBBlockCacheImplementations[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static RocksDBBlockCacheImplementations valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null