/// <inheritdoc /> public RocksDbContentLocationDatabase(IClock clock, RocksDbContentLocationDatabaseConfiguration configuration, Func <IReadOnlyList <MachineId> > getInactiveMachines) : base(clock, configuration, getInactiveMachines) { Contract.Requires(configuration.FlushPreservePercentInMemory >= 0 && configuration.FlushPreservePercentInMemory <= 1); Contract.Requires(configuration.FlushDegreeOfParallelism > 0); Contract.Requires(configuration.MetadataGarbageCollectionMaximumNumberOfEntriesToKeep > 0); _configuration = configuration; _activeSlotFilePath = (_configuration.StoreLocation / ActiveStoreSlotFileName).ToString(); if (_configuration.LogsBackupPath != null) { _logManager = new RocksDbLogsManager(clock, new PassThroughFileSystem(), _configuration.LogsBackupPath, _configuration.LogsRetention); } }