public void Destroy() => DbDir.Delete(true);
/// <summary> /// Open rocksdb handle /// </summary> /// <param name="dbOptions">Rocksdb options</param> /// <param name="columnFamilyOptions">Columnfamily options</param> /// <exception cref="ProcessorStateException">throws if the rocksdb can't be open</exception> private void OpenRocksDb(DbOptions dbOptions, ColumnFamilyOptions columnFamilyOptions) { int maxRetries = 5; int i = 0; bool open = false; RocksDbException rocksDbException = null; var columnFamilyDescriptors = new ColumnFamilies(columnFamilyOptions); while (!open && i < maxRetries) { try { Db = RocksDbSharp.RocksDb.Open( dbOptions, DbDir.FullName, columnFamilyDescriptors); var columnFamilyHandle = Db.GetDefaultColumnFamily(); DbAdapter = new SingleColumnFamilyAdapter( Name, Db, writeOptions, KeyComparator, columnFamilyHandle); open = true; } catch (RocksDbException e) { ++i; rocksDbException = e; } } if (!open) { throw new ProcessorStateException("Error opening store " + Name + " at location " + DbDir.ToString(), rocksDbException); } }