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

Details

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

    Description

      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

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated: