remove recoverylog FSM properties
jgraettinger opened this issue · comments
"Properties" were originally added to the log FSM when it was a concern that files like IDENTITY
, written by RocksDB on DB initialization and never changed, would prevent normal RocksDB compaction action from shifting forward the offset "horizon" of recovery-log content that's still required.
These days it's totally vestigial, since un-needed portions of the recovery log are happily pruned from the middle of the log, and there's no downside to having a jumble of very old fragments, new fragments, and "islands" of still-used fragments in between.
It also causes some rare initialization failures, because the FSM requires that a property like IDENTITY
is never written again once initialized, and it turns out there are certain conditions where RocksDB will actually write this file again.
We should remove support for recording new Properties updates, while keeping required support to not break Properties that already exist in FSM hints.