Skip to content

prevent flush entry followed delete operations #411

Description

@ayulas

prevent flush delete entry if possible

Background:
Ceph code uses RocksDB to store MD objects and the change-log entries.
Ceph change-log entries are written once and removed when the primary receives ACK from all the replicas.
The reason Ceph uses RocksDB for the change log is to be able to share the WAL used by Ceph Metadata objects (which are using RocksDB in a more traditional way).
The operations happen together (we create/update a MD object/s with every write operation and create a temporary change-log-entry describing the operation) so Ceph code can commit the Metadata and the change-log in a single transaction to the WAL.

We would like to filter out all Objects hit by delete operations during RocksDB::Flush() and never commit them to the disk.
Ideally we should be removing Objects hit by delete operations while in the Memtable, but that is impossible in RocksDB because their Memtable are immutable.

Metadata

Metadata

Labels

To reviewA feature request that has not been reviewed yetperformance

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions