diff --git a/src/RocksDb.Extensions/RocksDbContext.cs b/src/RocksDb.Extensions/RocksDbContext.cs index 41a2bd2..4cc489e 100644 --- a/src/RocksDb.Extensions/RocksDbContext.cs +++ b/src/RocksDb.Extensions/RocksDbContext.cs @@ -49,7 +49,7 @@ public RocksDbContext(IOptions options) dbOptions.SetUseDirectIoForFlushAndCompaction(options.Value.UseDirectIoForFlushAndCompaction); var fOptions = new FlushOptions(); - fOptions.SetWaitForFlush(true); + fOptions.SetWaitForFlush(options.Value.WaitForFlush); var writeOptions = new WriteOptions(); writeOptions.DisableWal(1); diff --git a/src/RocksDb.Extensions/RocksDbOptions.cs b/src/RocksDb.Extensions/RocksDbOptions.cs index da9c9d3..f8c9a60 100644 --- a/src/RocksDb.Extensions/RocksDbOptions.cs +++ b/src/RocksDb.Extensions/RocksDbOptions.cs @@ -61,4 +61,16 @@ public class RocksDbOptions /// The default value is false. /// public bool UseDirectIoForFlushAndCompaction { get; set; } = false; + + /// + /// Indicates whether the flush operation should be completed before continuing. + /// + /// + /// When set to true, the database will wait for the flush operation to finish before continuing. + /// This helps ensure data durability and consistency, but may slightly impact performance. + /// + /// The default value is true. + /// + /// + public bool WaitForFlush { get; set; } = true; } \ No newline at end of file