0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-10 20:48:34 +02:00
Commit graph

684 commits

Author SHA1 Message Date
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
Jason Volk a6cf4c3c91 ircd::fs: Refactor base paths into conf::items. 2020-04-19 06:13:23 -07:00
Jason Volk a867cfa51a ircd::fs: Add gauge for rlimit_nofile in support section. 2020-03-20 10:56:55 -07:00
Jason Volk 472ce01b50 ircd::fs: Reorg support section and indicators. 2020-03-20 10:56:55 -07:00
Jason Volk 7f4b5fb69e ircd::db: Add experimental universal compaction options section; minor reorg. 2020-03-16 00:30:28 -07:00
Jason Volk 829516afde ircd::db: Add compaction priority option to descriptor.
ircd:Ⓜ️:dbs: Tune compaction priority algorithm.
2020-03-13 15:12:22 -07:00
Jason Volk 84039ad1e7 ircd::db: Don't issue log warning for positive write-stall transition. 2020-03-01 14:08:21 -08:00
Jason Volk c89ddc4cbf ircd::db: Additional iterator validity indication in logmsg. 2020-02-28 17:15:25 -08:00
Jason Volk 9b5e4f8d48 ircd::db: Improve error propagation and reporting on _seek(). 2020-02-27 14:49:26 -08:00
Jason Volk 79786f7076 ircd::db: Improve error string generation; cases for custom severity. 2020-02-27 14:48:19 -08:00
Jason Volk 7dd821fd55 ircd::db: Add reflection for rocksdb::Status::Code. 2020-02-27 14:47:07 -08:00
Jason Volk 59d90f69c2 ircd::db: Fix formatting; fix format string. 2020-02-27 14:22:52 -08:00
Jason Volk e886e79073 ircd::db: Inline pointer-conditional overloads for cache interface. 2020-02-19 08:50:36 -08:00
Jason Volk 5f7dffbc59 ircd::db: Fix missing log facilities. 2020-01-12 17:38:45 -08:00
Jason Volk b0a773c922 ircd::db: Add conf item to repair on open. 2020-01-11 23:31:53 -08:00