0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-28 05:18:59 +02:00
Commit graph

665 commits

Author SHA1 Message Date
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
Jason Volk 9469099508 ircd::db: Add cases for validity w/ critical log. 2020-01-11 23:31:53 -08:00
Jason Volk a95f448805 ircd::db: Cases for traps; minor cleanup. 2020-01-11 23:31:53 -08:00
Jason Volk e76035cc28 ircd::db: Log exceptions and continue loop for db compaction. 2020-01-09 13:42:43 -08:00
Jason Volk cdfdde3334 ircd::db: Add interface to checksum files per column.
modules/console: Add column params to db check cmd.
2020-01-08 12:32:56 -08:00
Jason Volk ffcc49b9e5 ircd::db: Add interface to checksum per file. 2020-01-08 12:32:56 -08:00
Jason Volk ec6c3bbc0f ircd::db: Improve fd limit range in db opts. 2019-10-10 13:24:18 -07:00
Jason Volk 5b28f51d1e ircd::db::prefetcher: Move all counters into a dedicated structure. 2019-09-20 11:12:16 -07:00
Jason Volk dc5a335968 ircd::db::prefetcher: Add fetched byte counters; accumulated timers. 2019-09-18 22:25:05 -07:00
Jason Volk 8e116e3578 ircd::db::prefetcher: Add yield point. 2019-09-18 20:29:18 -07:00
Jason Volk 9d2e506253 ircd::db: Add direct-dispatch if request worker available; various optimizations. 2019-09-18 20:23:34 -07:00
Jason Volk 788542e833 ircd::db: Simplify seek() templates. 2019-09-18 19:14:52 -07:00
Jason Volk 35d39a7d70 ircd::db: Move prefetcher to header; reorg definitions; minor reorg. 2019-09-18 15:15:02 -07:00
Jason Volk 35b0670690 ircd::db: Add stack usage assertions before entering rocksdb. 2019-09-12 18:37:33 -07:00
Jason Volk 24986e76f9 ircd::db: Increase default non-conf maximums for now. 2019-09-10 21:39:00 -07:00
Jason Volk 80de67476c ircd::db: Notify the prefetcher dock on cancel and empty queue condition. 2019-09-10 21:39:00 -07:00
Jason Volk 27a1997ab1 ircd::db: Cancel all prefetches on database shutdown. 2019-09-08 14:42:11 -07:00
Jason Volk 0422f29a66 ircd::db::prefetcher: Add cancel() mechanism to remove items from queue. 2019-09-08 14:42:11 -07:00
Jason Volk b2a306bc26 ircd::db: Enable all stats timers. 2019-09-01 21:06:30 -07:00
Jason Volk f073657b5a ircd::db: Add granular compaction size related to column descriptor. (#13) 2019-08-26 12:14:26 -07:00