Jason Volk
2741ab785c
ircd::db: Inline trivial operator wrappers.
2020-09-21 20:50:58 -07:00
Jason Volk
8155c38f7f
ircd::db: Compression hierarchy; increase compaction readahead; table options.
2020-09-21 20:50:57 -07:00
Jason Volk
312625bc08
ircd::db: Use ZSTD compression by default.
2020-09-20 12:50:17 -07:00
Jason Volk
e2ac5c6fc7
ircd::db: Use conf item for default compression string in descriptor.
2020-09-20 12:50:17 -07:00
Jason Volk
358008e8e7
ircd::db: Improve compression options; bottommost LZ4HC.
2020-09-19 07:47:21 -07:00
Jason Volk
6edb1d4eec
ircd::db: Skip infolog under condition with mostly zero values.
2020-09-18 22:09:53 -07:00
Jason Volk
60382c2371
ircd::db: Improve universal compaction descent; flush on shutdown.
2020-09-18 18:47:15 -07:00
Jason Volk
5762513c73
ircd::db: Use warning level for certain compaction/flush reasons.
2020-09-18 18:47:15 -07:00
Jason Volk
229efaf486
ircd::db: Obtain file creation time if available in metadata.
2020-09-18 18:47:15 -07:00
Jason Volk
70860ecaa2
ircd::db: Add parallel read suite to interface.
2020-09-17 10:49:41 -07:00
Jason Volk
ac64faee5f
ircd::db: Minor reorder column definitions.
2020-09-17 10:49:41 -07:00
Jason Volk
66368d1cdc
ircd::db: Add typedefs for parallel query argument templates.
2020-09-17 10:49:41 -07:00
Jason Volk
bd3d34adb2
ircd::db: Additional compaction log related.
2020-09-17 10:49:41 -07:00
Jason Volk
6fed4f53d7
ircd::db: Reorg options by compaction type.
2020-09-16 06:55:14 -07:00
Jason Volk
ebef47f32d
ircd::db: Improve logged flush and compaction information.
2020-09-16 01:03:42 -07:00
Jason Volk
a2df9a9cdc
ircd::db: Add conf item to toggle WAL in write opts.
2020-09-15 04:33:28 -07:00
Jason Volk
3cf21998ae
ircd::db: Partial revert of 614f9cb31
due to unaligned throughput complications.
2020-09-15 04:33:28 -07:00
Jason Volk
8bdedb569c
ircd::db: Add preliminary custom rate limiter drop-in.
2020-09-15 04:33:28 -07:00
Jason Volk
f7400edc75
ircd::db: Tweak write-side column buffer and level0 scale; concurrent flush.
2020-09-15 04:33:28 -07:00
Jason Volk
00657475d1
ircd::db: Relax assertions from concurrent flush.
...
ircd::db: Relax assertion when reflecting IO_TOTAL.
2020-09-15 04:33:28 -07:00
Jason Volk
121de5a6dc
ircd::db: Fix comment; tweak universal compaction max width.
2020-09-14 14:16:31 -07:00
Jason Volk
ed01ed05dc
ircd::db: Variable per-column write buffer derived from block size.
2020-09-12 22:31:06 -07:00
Jason Volk
614f9cb312
ircd::db: Enable asynchronous flush and compaction.
2020-09-12 07:03:21 -07:00
Jason Volk
afe0b96249
ircd::db: Support universal compaction by default; various write tweaks.
2020-09-12 07:03:21 -07:00
Jason Volk
da56bb1a9d
ircd::db: Allow more L0 files before trigger for larger combines.
2020-09-10 23:50:47 -07:00
Jason Volk
f51ffb1530
ircd::db: Tweak block restart toward more conservative interval.
2020-09-10 12:45:44 -07:00
Jason Volk
a68702249d
ircd::db: Add interface to count cache entries.
...
modules/console: Add count column to db cache cmd.
2020-09-08 22:27:06 -07:00
Jason Volk
a7b6001d49
ircd: Ⓜ️ :db: Additional debug for txn contents.
2020-08-28 05:18:57 -07:00
Jason Volk
f16eb0b558
ircd::db: Use caller provided string buffer for debug.
2020-08-23 03:49:20 -07:00
Jason Volk
d51082ef17
ircd::db: Handle SST file query errors per column.
2020-08-10 11:32:24 -07:00
Jason Volk
59dd43917b
ircd::db: Add note for delta encoding option; minor cleanup [ci skip]
2020-08-05 23:08:51 -07:00
Jason Volk
65296be413
ircd::db::database::sst: Add checksum data to info collection.
2020-08-05 22:33:33 -07:00
Jason Volk
439eafa59f
ircd::db: Use default auto value for ttl setting.
2020-08-05 22:09:14 -07:00
Jason Volk
72c46fa9f5
ircd::db::database::sst: Simplify assignment for inherited.
2020-08-05 21:32:01 -07:00
Jason Volk
d5e59b95b9
ircd::db: Bump block table format version.
2020-08-05 20:34:32 -07:00
Jason Volk
df619e6010
ircd::db::column: Indicate noexcept for various out-of-lines.
2020-08-04 23:30:19 -07:00
Jason Volk
2e1fc0c234
ircd::db: Inline some trivial default comparators.
2020-07-28 01:22:02 -07:00
Jason Volk
f2c182b403
ircd::db: Set max_open_files=-1 when required for secondary mode.
...
ircd:Ⓜ️ :dbs: Condition option from being set in slave/secondary mode.
ircd::db: Skip snapshot creation in slave/secondary mode (required).
ircd::db: Slave implies read-only.
2020-07-28 00:38:46 -07:00
Jason Volk
41db97fec0
ircd::db: Make default comparators noexcept.
2020-07-28 00:38:46 -07:00
Jason Volk
a0ae5162eb
ircd::db: Add preliminary enum case for future use.
2020-07-25 09:10:49 -07:00
Jason Volk
d371fba034
ircd::db: Use reference to prevent string copy.
...
ircd:Ⓜ️ Fix reference/copy related warnings in clang-10.
2020-07-10 23:58:07 -07:00
Jason Volk
27fcfb3175
ircd::db: Align column cache allocations to block size.
2020-07-08 16:27:27 -07:00
Jason Volk
1c9ee622e5
ircd::db: Provide database stats instance for default column cache requirement.
2020-06-20 05:41:14 -07:00
Jason Volk
c41c632e94
ircd::db: Remove trailing newline in ABI version string.
2020-06-19 03:04:55 -07:00
Jason Volk
ba4c98d7e8
ircd::db: Minor remove cruft. (related 942e8330e6
)
...
ircd::ios: Minor cleanup.
2020-06-18 20:07:40 -07:00
Jason Volk
22f4fd5046
ircd::db: Add fwd decl and accoutrements for rocksdb::PinnableSlice.
2020-06-18 20:07:40 -07:00
Jason Volk
7e3c1bf591
ircd::db: Increment per-column stats for items from 54996d2f29
.
2020-06-17 22:08:20 -07:00
Jason Volk
c8e11b7ffc
ircd::db: Disable stats instance for unused default column.
2020-06-17 20:57:29 -07:00
Jason Volk
338cec879a
ircd::db::database::stats: Incorporate column into item name scheme.
2020-06-17 19:24:02 -07:00
Jason Volk
54996d2f29
ircd::db: Additional custom stats tickers for PinnableSlice copy and referencing.
2020-06-17 19:24:00 -07:00
Jason Volk
c0990e0c0b
ircd::db::database::stats: Add ircd::stats::item's for rocksdb tickers. ( #31 )
2020-06-17 19:20:47 -07:00
Jason Volk
e2654ddaed
ircd::db: Add feature define for direct-io multiget; various cleanup.
2020-06-16 07:27:50 -07:00
Jason Volk
597052e5c0
ircd::db: Simplify internal _read() interface to single Get().
2020-06-15 21:55:23 -07:00
Jason Volk
aa096c93bd
ircd::db: Cleanup MultiGet() constexpr branches to parallelize.
2020-06-14 22:05:15 -07:00
Jason Volk
afcb22b726
ircd::db: Add support #ifdefs for MultiGet; add fallback path.
2020-06-11 17:09:56 -07:00
Jason Volk
5593ae3a60
ircd::db: Additional parallel seek log metric; assertion tool.
2020-06-11 17:09:56 -07:00
Jason Volk
d9bfdc9678
ircd::db: Reenable index compression for compressed columns.
2020-06-11 03:51:49 -07:00
Jason Volk
35d4ee811b
ircd::db: Add preliminary support for secondary-mode if available.
2020-06-11 03:51:49 -07:00
Jason Volk
65760fc93a
ircd::db: Prevent use of delta encoding in SST files for zero-copy pinnable slices.
2020-06-10 22:36:28 -07:00
Jason Volk
7a53afc4c8
ircd::db: Add delta encoding indicator to SST info; add to console cmd output.
2020-06-10 22:36:28 -07:00
Jason Volk
c037519246
ircd::db: Add additional recovery mode if supported.
2020-06-10 22:36:27 -07:00
Jason Volk
b68b4d113a
ircd::db: Add conf item to disable automatic compactions.
...
construct: Add -nocompact program option.
2020-06-10 22:36:27 -07:00
Jason Volk
2f1523ffb2
ircd::db: Fix coderot under RB_DEBUG_DB_SEEK.
2020-06-09 05:14:43 -07:00
Jason Volk
c0c9c2c4f0
ircd::db: Add parallel has() to column interface.
2020-06-09 04:37:51 -07:00
Jason Volk
fc9c952ba8
ircd::db: Add parallel read suite to internal interface.
2020-06-08 21:28:07 -07:00
Jason Volk
4a1f04823f
ircd::db: Improve request pool initialization and size determination.
2020-06-08 17:16:07 -07:00
Jason Volk
6968f24921
ircd::db: Add compaction period parameter to descriptor.
2020-06-07 05:46:24 -07:00
Jason Volk
b8521117c1
ircd::db::row: Add valid_all() to interface.
2020-06-07 03:26:31 -07:00
Jason Volk
9ee4afd560
ircd::db: Simplify and cleanup for cached()/has().
2020-06-07 01:51:19 -07:00
Jason Volk
6ee817aec8
ircd::db: Add internal interface around PinnableSlice queries.
2020-06-07 01:51:19 -07:00
Jason Volk
8b7fe333ec
ircd::db: Add valid(rocksdb::Status) to suite.
2020-06-07 01:51:19 -07:00
Jason Volk
a4447054e5
ircd::db: Fix O_DIRECT test file path mismatch regression.
2020-06-04 15:51:48 -07:00
Jason Volk
774cd6c7c2
ircd::db: Split allocator related into unit.
2020-06-04 15:38:38 -07:00
Jason Volk
e12774595c
ircd::db: Disable cache lock feature when valgrinding.
2020-06-04 00:25:43 -07:00
Jason Volk
635cccdb9d
ircd::db: Fix integer literal for comparison.
2020-05-30 18:15:03 -07:00
Jason Volk
1a0ee0ece4
ircd::db: Add missing #ifdefs covering rocksdb 5.x (thanks @grinapo).
2020-05-30 03:59:10 -07:00
Jason Volk
a61a67961a
ircd::db: Lock database cache extents in RAM if possible. ( closes #144 )
2020-05-29 23:40:24 -07:00
Jason Volk
77b0fc9e1e
ircd::db: Elaborate all extent hooks; move cache_arena to database::allocator.
2020-05-29 23:40:24 -07:00
Jason Volk
67ddcf074a
ircd::db: Add a global cache arena w/ lifetime of subsystem.
2020-05-29 23:40:24 -07:00
Jason Volk
085b1acfe9
ircd::db: Add jemalloc arena and flags support to allocators.
2020-05-29 23:40:24 -07:00
Jason Volk
8bc371d7fb
ircd::db::txn: Fix has() queries.
2020-05-12 22:27:53 -07:00
Jason Volk
fe3c051f8a
ircd::db: Fix missing #ifdefs for cache allocator.
2020-05-10 03:02:25 -07:00
Jason Volk
1c11e6b2c1
ircd::db: Minor cleanup.
2020-05-08 14:12:19 -07:00
Jason Volk
516d7e8ad7
ircd::db::database::allocator: Support aligned allocations.
...
ircd::db::database::allocator: Implement callback for true allocated size hint.
2020-05-08 00:05:46 -07:00
Jason Volk
f77f36904e
ircd::db::database::cache: Fix construction of the proxy w/ custom allocator.
2020-05-07 21:06:08 -07:00
Jason Volk
15cd10f843
ircd::db::database: Use scoped tag; fix allocator passed to cache; LRUCacheOptions; final override.
2020-05-07 17:58:38 -07:00
Jason Volk
2c7f81d1e1
ircd:;db: Disambiguate KeyMaxExist() overload for rocksdb 6.10.0.
2020-05-07 17:05:12 -07:00
Jason Volk
fd127472b9
ircd::db: Use some symbols in the library for ABI string info for now.
2020-05-05 22:52:00 -07:00
Jason Volk
86bacdfcb5
ircd::db: RocksDB >= 6.0.0 CompactionFilter::IgnoreSnapshots() must always be true.
2020-05-05 22:24:25 -07:00
Jason Volk
b448156da4
ircd::db: Interface to get the charge value of cache entry.
2020-05-05 19:58:37 -07:00
Jason Volk
1eaf52d2eb
ircd::db: Reflect ColumnFamilyDropped (6.3.6).
2020-05-05 19:58:37 -07:00
Jason Volk
572396f5f4
ircd::db: Add Env::Priority:USER (6.1.1).
2020-05-05 19:58:37 -07:00
Jason Volk
5fbcc5b982
ircd::db: Reflect kPeriodicCompaction (6.6.2).
2020-05-05 19:58:37 -07:00
Jason Volk
3ebc8f8a33
ircd::db: Reflect kErrorRecovery (5.17.2).
2020-05-05 19:58:37 -07:00
Jason Volk
36a0394184
ircd::db::database: Add custom allocator stub; apply per-cache allocators.
2020-05-05 19:58:37 -07:00
Jason Volk
9f2bdd3ca2
Upgrade to RocksDB 6.6.4.
...
ircd::db::database::cache: Remove deprecated interface override.
ircd::db::database::cache: Add new GetCharge() abstract virtual override.
ircd::db: Use set_stats_level() for privated member.
2020-05-05 19:58:37 -07:00
Jason Volk
7df29b7ebe
ircd::db: Minor cleanup.
2020-05-02 23:57:53 -07:00
Jason Volk
693d3c72bb
ircd::db: Supply our own created SstFileManager instance.
2020-04-29 03:37:35 -07:00
Jason Volk
030286fed2
ircd::db: Use critical log level for kFatalError.
2020-04-22 01:51:55 -07:00
Jason Volk
2bf38286ba
ircd::fs: Callsite changes for fs::base reorg.
2020-04-19 06:13:23 -07:00