Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-8197 Improve RocksDB performance
  3. ISPN-12011

Investigate CompactionFilter for purging expired entries in RocksDB

XMLWordPrintable

    • Icon: Sub-task Sub-task
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • None
    • Loaders and Stores
    • None

      RocksDB allows the application to process/delete entries during compaction, and we could use this CompactionFilter callback to implement the purging of expired entries.

      It's not straightforward, through: CompactionFilter must be implemented in a native (C++) library. rocksdb-jni allows using a native implementation from Java, but it does not allow defining it in Java (like it does for comparators).

      Potential solutions:

      1. Write a native library implementing CompactionFilter for our current storage format
      2. Change the value format to match the Cassandra storage format and use the predefined CassandraCompactionFilter
      3. Revive the now-removed LuaCompactionFilter and write our filter implementation in Lua
      4. Contribute an adapter for Java CompactionFilter implementations to the RocksDB project, inspired by the existing AbstractComparator

              Unassigned Unassigned
              dberinde@redhat.com Dan Berindei (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: