0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-25 11:58:39 +02:00
Commit graph

638 commits

Author SHA1 Message Date
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
Jason Volk 4013c4cb23 ircd::db: Add preliminary prefetch unit.
ircd::db::prefetcher: Add timestamp to request in debugmode.
2019-08-24 19:19:34 -07:00
Jason Volk ac03c9a13b ircd: Use bool return values through prefetching stack. 2019-08-19 21:18:26 -07:00
Jason Volk f5b45f32d0 ircd::db: Fix comment/label. [skip ci] 2019-08-12 21:17:45 -07:00
Jason Volk 198fbfa20b ircd::db: No compaction readahead for direct IO. 2019-08-08 19:50:33 -07:00
Jason Volk 7dcd3fdcd8 ircd: Improve log format consistency. 2019-07-23 17:31:16 -07:00
Jason Volk 62f861c54a ircd::db::database::env: Add missing fdno in log output.
ircd::db: Add missing validator in debug.
2019-07-21 16:41:05 -07:00
Jason Volk b6903bf643 Wrap clang diagnostics in #ifdef to prevent GCC warning. 2019-07-20 18:42:15 -07:00
Jason Volk 0704625401 ircd::log: Simplify log class member interface. 2019-07-19 17:15:47 -07:00
Jason Volk 4b53217939 ircd::db: Improve readability. 2019-07-16 16:06:40 -07:00
Jason Volk 80655da66e Misc fixes for clang. 2019-06-24 01:34:14 -07:00
Jason Volk 809d01d7df ircd: Mark explicit unreachables for clang's failure to elide dtors of noreturn constructed objects. 2019-06-24 02:22:55 -06:00
Jason Volk 2f74142737 ircd::db: Fix erroneous calls when stacking overloads.
modules/s_keys: Fix erroneous calls when stacking overloads (regression).
2019-06-24 02:22:55 -06:00
Jason Volk cf3b1218c4 ircd: Misc fixes for clang. 2019-06-23 16:22:06 -06:00
Jason Volk 2e7f272570 ircd: Add plain string terminate. 2019-06-23 16:16:39 -06:00
Jason Volk 82a7d736d1 ircd::fs::path: Use scoped enum for fs::path::base paths. 2019-06-23 07:37:23 -06:00
Jason Volk 5bf62fc33f ircd: Degrade enum addressing for clang. 2019-06-23 07:37:23 -06:00
Jason Volk 801f0d57b7 ircd: Fix attributes for clang. 2019-06-23 07:37:23 -06:00
Jason Volk a371bc3e1f ircd: Fix cast-conversion based reference-constructions. 2019-06-22 17:36:42 -06:00
Jason Volk 534afe8859 ircd: No need to move x-values. 2019-06-22 17:36:42 -06:00
Jason Volk b78ea359b6 ircd::db: Rename db::index to db::domain; fix userspace. 2019-06-11 12:57:52 -07:00
Jason Volk 9fe4d07556 ircd::db: Use high priority index block cache feature; increase pct. 2019-06-08 00:05:14 -07:00
Jason Volk 70c6c9ea86 ircd::db: Expose subroutines from db::init. 2019-06-06 18:47:44 -07:00
Jason Volk a348db4767 ircd::db: Rename possibly conflicting constant. 2019-06-04 14:59:05 -07:00
Jason Volk 364e98d564 ircd::info: Do autogeneration of missing version string in ctor. 2019-06-02 14:21:40 -07:00
Jason Volk f2e84a6b0e ircd::db: Fix compression identification on init. 2019-06-02 01:15:03 -07:00
Jason Volk eb73595c50 ircd: Apply uniform info::versions for all dependency version identification. 2019-05-31 16:15:01 -07:00
Jason Volk 2b95a65709 ircd::db: Fix various error handling around db::init. 2019-05-23 22:43:41 -07:00