Details

      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

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                dan.berindei Dan Berindei
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated: