0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-12-30 17:34:04 +01:00
Commit graph

612 commits

Author SHA1 Message Date
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
Jason Volk
96dfcaa122 ircd::db::txn: Minor interface cleanup. 2019-05-09 16:58:29 -07:00
Jason Volk
41d60ec2f7 ircd::db: Minor move attribute. 2019-05-08 05:19:04 -07:00
Jason Volk
85aee354c1 ircd::db: Handle read-only shutdown case. 2019-05-02 21:43:27 -07:00
Jason Volk
604c103bbc ircd::db::database::cache: Fix the shard bits default. 2019-04-24 02:19:14 -07:00
Jason Volk
124f62d159 Revert "ircd::db: Lock writes after memtable sealed until flush to prevent rocksdb pthread use."
This reverts commit c370cdc123.
2019-04-22 19:08:01 -07:00
Jason Volk
c370cdc123 ircd::db: Lock writes after memtable sealed until flush to prevent rocksdb pthread use. 2019-04-22 16:32:40 -07:00
Jason Volk
c6d056421d ircd::db: Log warning when crc32c acceleration is not available. 2019-04-22 15:24:07 -07:00
Jason Volk
db539c6268 ircd::db: Add write-ahead-log recovery callback surface. 2019-04-20 14:30:42 -07:00
Jason Volk
810888b53c ircd::db: Allow concurrent memtable write. 2019-04-19 00:17:00 -07:00
Jason Volk
f27b56fac3 ircd::db: Show commit debuglog messages. 2019-04-19 00:15:14 -07:00
Jason Volk
4038973297 ircd::util: Use allocator::node for instance_list instances. 2019-04-16 20:48:00 -07:00
Jason Volk
f9025cebb9 ircd: Support read-only and write-avoid modes via conf item / command line. 2019-04-15 11:16:31 -07:00
Jason Volk
15bd7282c7 ircd::db: Use rvalue refs here. 2019-04-12 09:36:53 -07:00
Jason Volk
be18a1874d ircd::db: Increase file size target default. 2019-04-10 22:32:06 -07:00
Jason Volk
c3480f9f79 ircd: Rename various matrix loggers; increase log name width. 2019-04-05 18:12:22 -07:00
Jason Volk
ccf17d648c ircd::db: Add debug message for pool->wait() on bgcancel(). 2019-03-27 13:04:12 -07:00
Jason Volk
620e352a4f ircd::db::txn: Add a state enum to the txn. 2019-03-19 13:39:15 -07:00
Jason Volk
69f1fe7241 ircd::db: Fix macro condition. 2019-03-13 16:11:29 -07:00
Jason Volk
47bcfaecb4 ircd: Upgrade various templates with argument deduction. 2019-03-02 14:20:52 -08:00
Jason Volk
9aaba79919 ircd::db: Checkpoint coarse configuration values for now. 2019-02-25 18:20:48 -08:00
Jason Volk
6f7fc0a837 ircd::db: Add interface to query size of key in column. 2019-02-25 18:17:01 -08:00
Jason Volk
2db5278eb2 ircd::db: Log the error message on database constructor before rethrow. 2019-02-22 15:40:53 -08:00
Jason Volk
551168c643 ircd: Various quietudes. 2019-02-16 15:25:36 -08:00
Jason Volk
a4bd140cc2 ircd::db: Add interruption threshold at seek call. 2019-02-07 22:16:19 -08:00
Jason Volk
72a3ff2856 ircd: Employ path_string() at various callsites. 2019-02-07 22:16:19 -08:00
Jason Volk
a63f23fc2d ircd::db: Minor reorg; move db::index defs near db::column. 2019-02-06 16:42:27 -08:00
Jason Volk
f11282f583 ircd::db: Fix prefixed iterator seek to pos::BACK. 2019-02-04 19:45:27 -08:00
Jason Volk
d5f01d013d ircd::db: Add a last() iterator convenience for column / index. 2019-02-04 19:17:52 -08:00
Jason Volk
9e2b3163b3 ircd::db: Reorder various definitions. 2019-02-04 13:59:01 -08:00
Jason Volk
246a5faba4 ircd::db: Add interface for range deletions. 2019-01-25 12:32:04 -08:00
Jason Volk
5b3bee79a6 ircd::fs: Normalize buffering for path interface; add path features. 2019-01-25 11:49:24 -08:00
Jason Volk
2886924bf0 ircd::fs: Reorg path interface related. 2019-01-25 10:39:37 -08:00
Jason Volk
d7fa6ff04c ircd::db: Update row ctor to ignore missing requested columns by name. 2019-01-24 10:52:05 -08:00
Jason Volk
c2521b587b ircd::db: Consider if column dropped for boolean test. 2019-01-23 16:10:22 -08:00
Jason Volk
2b9e2c850e ircd::db: Remove the txn::append template iteration over a json::tuple. 2019-01-23 15:34:56 -08:00
Jason Volk
2fd50fc9af ircd::db: Split db.cc into db_env.cc and db_port.cc. 2019-01-23 14:08:02 -08:00
Jason Volk
ecd158f375 ircd::db: Create database/env.h index of all database/env/ headers. 2019-01-23 13:34:50 -08:00
Jason Volk
d639eceba2 ircd: Move runlevel related into ircd::run:: namespace. 2019-01-18 09:08:56 -08:00
Jason Volk
36bcb9a300 ircd::db: Remove the handles vector optimization. 2019-01-17 15:38:00 -08:00
Jason Volk
bb354c5c05 ircd::db: Bypass row iterator creation when not seeking on construction. 2019-01-17 15:38:00 -08:00
Jason Volk
c43a0e49ab ircd::db: Tweak cell::valid() stack. 2019-01-16 16:38:14 -08:00
Jason Volk
0652dfbc59 ircd::db: Allow null column transactions to be ignored rather than erroneous. 2019-01-16 13:46:15 -08:00
Jason Volk
918bc95d1a ircd::db: Add nothrow column construction overload. 2019-01-16 13:23:00 -08:00
Jason Volk
4ded053406 ircd::db: Add cfid() lookup suite. 2019-01-16 13:21:36 -08:00
Jason Volk
2171cc23e8 ircd::db: Fix cell::load seek validation. 2019-01-15 19:03:52 -08:00
Jason Volk
cbf456a388 ircd: Rename and refactor ircd::assertion interface into ircd::panic. 2019-01-13 16:37:31 -08:00
Jason Volk
655d4e41c6 ircd::db: Configuration package. 2019-01-11 17:37:51 -08:00
Jason Volk
cbc4ddefe4 ircd::db: Fix issues with cache queries. 2019-01-11 17:36:05 -08:00
Jason Volk
d3d5f03b8c ircd::db: Ensure no internal block cache is created by rocksdb when do not want. 2019-01-11 16:48:57 -08:00
Jason Volk
f55ad72ed5 ircd::db: Maintain our own names for caches. 2019-01-11 16:21:04 -08:00
Jason Volk
9a42fd9f60 ircd::db: Prevent submitting row with one cell to request pool. 2019-01-11 14:01:56 -08:00
Jason Volk
0f20a6a6ba ircd::db: Improve row seek debugging and related. 2019-01-11 13:57:35 -08:00
Jason Volk
f6c6250fcb ircd:;db: Add the file size to the table file creation log msg. 2018-12-31 16:26:57 -08:00
Jason Volk
eba727a9db ircd::db: Add a counter for the env pool tasks. 2018-12-31 16:12:10 -08:00
Jason Volk
b169f0cc80 ircd::db: Log more detailed table creation statistics. 2018-12-31 16:01:24 -08:00
Jason Volk
bc12702ed7 ircd::db: Log more detailed compaction job statistics. 2018-12-31 15:36:25 -08:00
Jason Volk
8f6c17aeb1 ircd::db: Fix log msg. 2018-12-31 14:34:10 -08:00
Jason Volk
7bc1eee991 ircd::db: Add alignment assertion on read callback. 2018-12-30 15:13:29 -08:00
Jason Volk
3bec2c27d4 ircd::db: Set a lower priority io value for the LOW pool. 2018-12-29 19:43:17 -08:00
Jason Volk
5b934c5e71 ircd::db: Tweak error formatting. 2018-12-29 19:43:17 -08:00
Jason Volk
3466597981 ircd::fs: Various reorg; cleanup. 2018-12-29 19:43:17 -08:00
Jason Volk
7e023beb4f ircd::db: Reduce env debug noise when no compaction callback. 2018-12-28 18:18:13 -08:00
Jason Volk
12401c70aa ircd::db: Don't start background tasks before runlevel::RUN. 2018-12-28 17:53:26 -08:00
Jason Volk
6784be5be8 ircd::db: Tweak interruption points; cleanup. 2018-12-28 17:14:19 -08:00
Jason Volk
4a47b39298 ircd::ctx: Create and use an options structure for ctx::pool. 2018-12-28 12:57:32 -08:00
Jason Volk
fe0f548496 ircd::db: Update / cleanup / comment various opts related. 2018-12-28 10:55:57 -08:00
Jason Volk
c82382ea2c ircd::db: Use a zero soft-limit to yield all requests when saturated; prefetch condition. 2018-12-27 17:20:43 -08:00
Jason Volk
62bf807ad2 ircd::db: Wire up more IOPriority and write_opts related. 2018-12-27 14:58:04 -08:00
Jason Volk
29fd84010f ircd::db: RocksDB does its own read loop for sequential_file. 2018-12-27 14:58:04 -08:00
Jason Volk
beb7a0c180 ircd::db: Bypass call for block_size when not direct io. 2018-12-27 14:58:04 -08:00
Jason Volk
2f5d175957 ircd::db: Add cached membership test to row interface. 2018-12-26 19:45:04 -08:00
Jason Volk
13621feca0 ircd::db: Use better cache membership test. 2018-12-26 19:44:26 -08:00
Jason Volk
c1c11b4aed ircd::db: Enrich seek(row) opts; add proper error handling and propagation. 2018-12-24 14:33:35 -08:00
Jason Volk
b035bb9824 ircd::db: No need to copy gopts in db::cell related. 2018-12-24 14:32:33 -08:00
Jason Volk
2876398c04 ircd::db: Simplify/Consolidate error hierarchy. 2018-12-24 13:32:22 -08:00
Jason Volk
b5168eb063 ircd::db: Prevent copying log message if unnecessary. 2018-12-23 14:33:22 -08:00
Jason Volk
df7e46722f ircd::db: Add a ctx::slice_usage_warning message for background task executions. 2018-12-19 14:06:28 -08:00
Jason Volk
605cce9ed1 ircd::db: Propagate the FlushOptions.allow_write_stall option; improve sort cmd. 2018-12-19 13:58:09 -08:00
Jason Volk
f683e60df4 ircd::db: Add reflections for compaction and flush reasons. 2018-12-19 13:39:06 -08:00
Jason Volk
e1af547e16 ircd::db: Minor tweak log message fmt. 2018-12-19 13:09:10 -08:00
Jason Volk
5a0a9989e4 ircd::log: Rename facility to level. 2018-12-19 12:52:08 -08:00
Jason Volk
5d1f17b26e ircd::db: Checkpoint options default package. 2018-12-18 17:36:51 -08:00
Jason Volk
541b020a19 ircd::db: Add read options for 'aio' and 'all' to file env classes. 2018-12-18 14:44:25 -08:00
Jason Volk
1e1c9c6a1e ircd::db: Add more information to some file-related env log messages. 2018-12-17 14:01:45 -08:00
Jason Volk
495b70ec6d ircd::db: Improve shutdown sequence. 2018-12-16 18:37:51 -08:00
Jason Volk
16ea21e9f3 ircd::db: Use appropriate log facility for bad news in events callbacks. 2018-12-16 18:37:51 -08:00
Jason Volk
fae947d433 ircd::db: Add a background cancel interface w/ console cmd. 2018-12-16 18:37:51 -08:00
Jason Volk
55023041b8 ircd::db: Reorg environment task pool related. 2018-12-16 18:37:51 -08:00
Jason Volk
a513ba9cf3 ircd::db: Deinline some env::state related. 2018-12-16 16:27:11 -08:00
Jason Volk
e22162f505 ircd::db: Add noexcept specifiers to all port interfaces. 2018-12-16 16:27:11 -08:00
Jason Volk
94518ded5f ircd::db: Move env::state related; minor cleanup. 2018-12-16 16:27:11 -08:00
Jason Volk
705033c459 ircd::db: Relax various write-lock and uninterruptible points. 2018-12-16 16:27:10 -08:00
Jason Volk
d6e05aa826 ircd::db: Remove the write lock during manual range compaction. 2018-12-15 23:08:07 -08:00
Jason Volk
d754af2f18 ircd::db: Disable interruption for port operations. 2018-12-15 23:07:42 -08:00
Jason Volk
67ce539759 ircd::db: Improve shutdown sequence for environment. 2018-12-15 23:06:33 -08:00
Jason Volk
d96ddae133 ircd::db: Propagate all errors from db::init_directory(). 2018-12-15 20:50:32 -08:00
Jason Volk
3fd689931c ircd::db: Add state and conditions for AIO operations on sequential_file. 2018-12-15 20:29:54 -08:00
Jason Volk
da97535713 ircd::db: Reduce the severity of the logmsg for ENOENT on a seqfile open(). 2018-12-15 20:29:54 -08:00
Jason Volk
bb6ba69f0b ircd::db: Fix error handling for column_names(); add comments. 2018-12-15 20:29:54 -08:00
Jason Volk
70d4b32c3d ircd::db: Add interface for pause/continue of background work w/ console cmd. 2018-12-14 17:27:48 -08:00
Jason Volk
c4d5f03725 ircd::fs: Add compat interface for range flush()/sync(). 2018-12-13 18:04:48 -08:00
Jason Volk
5e8d5562da ircd::fs: Simplify interface. 2018-12-13 17:46:08 -08:00
Jason Volk
9d423f84d8 ircd:;fs: Rename various fsync/sync related. 2018-12-13 16:54:09 -08:00
Jason Volk
e2cb79e28d ircd::db: Minor cleanup; comments. 2018-12-13 13:44:37 -08:00
Jason Volk
b68677cc28 ircd::db: Simplify error handling and translation for env. 2018-12-12 17:32:24 -08:00
Jason Volk
7792f00461 ircd::db: Add more info to log message. 2018-12-12 16:55:11 -08:00
Jason Volk
a2892356d1 ircd::db: Compact range options package. 2018-12-12 16:02:31 -08:00
Jason Volk
62874ff498 ircd::db: Add src and dst level arguments to db::compact files interface. 2018-12-12 15:53:16 -08:00
Jason Volk
9236eeba75 ircd::db: Add dwarning for unaligned write w/ direct io. 2018-12-12 15:30:25 -08:00
Jason Volk
a7a00287bb ircd::db: Assert the callback thread_id's match up with the current ircd::ctx. 2018-12-12 14:52:04 -08:00
Jason Volk
0b37c03c78 ircd::db: Simplify log message formats on callbacks. 2018-12-12 14:48:06 -08:00
Jason Volk
1cab1fda7e ircd::db: Use db logger rather than rog for event callbacks. 2018-12-12 13:24:47 -08:00
Jason Volk
8d9b0fb4b1 ircd::db: Options package checkpoint. 2018-12-12 13:16:47 -08:00
Jason Volk
df36a6a4ac ircd::db: Use proper fs::sync() for sync requests. 2018-12-12 13:16:47 -08:00
Jason Volk
6dc547f8f1 ircd::db: Simplify some rdb event log messages. 2018-12-12 10:42:11 -08:00
Jason Volk
41fd658b24 ircd::db: Add interface to get column and database options. 2018-12-12 10:17:47 -08:00
Jason Volk
a133235f82 ircd::db: Move database::options to db::options. 2018-12-12 10:17:47 -08:00
Jason Volk
c9e9fd3621 ircd::db: Use non-allocating message string for exception translation. 2018-12-12 10:12:24 -08:00
Jason Volk
d7da57e073 ircd::db: Add log level interface w/ console cmd. 2018-12-12 10:12:23 -08:00
Jason Volk
f667b73dac ircd::db: Minor move database::column closer to database in the unit. 2018-12-12 08:03:59 -08:00
Jason Volk
24d8665695 ircd::db: Convey better compaction compression option. 2018-12-11 16:42:18 -08:00
Jason Volk
a03d28c6a1 ircd::db: Allow < -1 target level to indicate no level change at all. 2018-12-11 16:30:28 -08:00
Jason Volk
8e11620100 ircd::db: Distinguish range compact from files compact in interface. 2018-12-11 16:30:28 -08:00
Jason Volk
cfbf31c587 ircd::db: Fix log msg fmt consistency. 2018-12-10 15:18:27 -08:00
Jason Volk
8d6c7e3576 ircd::db: Add WAL information interface w/ console cmd. 2018-12-10 14:14:55 -08:00
Jason Volk
c3560d4890 ircd::db: Rename database::logs to database::logger. 2018-12-10 13:26:46 -08:00