0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-12 04:51:08 +01:00
Commit graph

690 commits

Author SHA1 Message Date
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
Jason Volk
45bf911952 ircd::conf: Add feature to toggle whether conf item is persisted in a db. 2018-12-08 16:27:32 -08:00
Jason Volk
1ba22a21ba ircd: Disperse accumulated global options as conf items in namespaces. 2018-12-08 15:36:34 -08:00
Jason Volk
caf1190c91 ircd::db: Tweak interruption point related. 2018-12-07 12:48:54 -08:00
Jason Volk
760bd0f19c ircd::db: Workaround allow_fallocate options issue. 2018-12-03 14:31:48 -08:00
Jason Volk
0250c0f2ec ircd::db: Disable fallocate() use for now. 2018-12-03 13:01:36 -08:00
Jason Volk
47d6fbb35f ircd::fs: Consolidate support tests and indications into namespace. 2018-12-03 12:55:52 -08:00
Jason Volk
f2ecf617ba ircd::db: Stub a place to put the runtime loaded library version information. 2018-12-03 12:30:59 -08:00
Jason Volk
6d80be2d7a ircd::db: Cleanup / comment db options initialization. 2018-12-03 11:54:35 -08:00
Jason Volk
402f0f91f1 ircd::db: Create DBOptions earlier for use when reading column names. 2018-12-02 17:45:36 -08:00
Jason Volk
e8088ce52a ircd::db: Assert synchronization for sequential file operations; update offset on PositionedRead(). 2018-12-02 17:19:13 -08:00
Jason Volk
c1d915db7a ircd::db: Fix pragma. 2018-12-02 17:16:32 -08:00
Jason Volk
b45b25bdcd ircd::db: Dressing for C99 array on stack here. 2018-12-01 17:07:15 -08:00
Jason Volk
b31432aae1 ircd::db: Checkpoint some table options for compression. 2018-12-01 16:11:32 -08:00
Jason Volk
711dfacd9a ircd::fs: Improve strategy for AIO fsync/fdsync related. 2018-12-01 16:10:53 -08:00
Jason Volk
62053e66e2 ircd::db: Minor interruption point tweaks. 2018-12-01 14:55:38 -08:00
Jason Volk
f9def72a89 ircd::db: Fix propagation of column's compression type to compaction options. 2018-11-30 15:19:49 -08:00
Jason Volk
ea0ad518ea ircd::db: Fix interface / linkage for getting ColumnFamilyOptions ref from database::column. 2018-11-30 15:19:00 -08:00
Jason Volk
c451571108 ircd::db: Fix finding supported compression error. 2018-11-30 15:07:51 -08:00
Jason Volk
3f6ae85f8f ircd::db: Add automated column drop support; update existing descriptors. 2018-11-30 14:43:51 -08:00
Jason Volk
5db6447c4f ircd::db: Disable thread tracking; add compression to column open log msg. 2018-11-29 16:47:17 -08:00
Jason Volk
d1bfba2204 ircd::db: Remove critical assertion here and add note. 2018-11-29 16:18:29 -08:00
Jason Volk
60dd8c0eea ircd::db: Enable block alignment based on compression; Enable O_DIRECT writes. 2018-11-29 15:41:42 -08:00
Jason Volk
731c154b19 ircd::db: Disable AIO for fsync related for now. 2018-11-29 13:08:37 -08:00
Jason Volk
0de55ce111 ircd::db: Attempt at direct IO writable_file (append) implementation. 2018-11-27 17:30:59 -08:00
Jason Volk
49354027a6 ircd::db: Various cleanup; simplify. 2018-11-15 20:54:50 -08:00
Jason Volk
e90f1729f0 ircd::db: Split writable_file into writable_file_direct using vtable for functionality. 2018-11-09 18:24:51 -08:00
Jason Volk
af93d55927 ircd: Minor cleanup: simplify decl; fix comment; relax log level. 2018-11-08 23:05:12 -08:00
Jason Volk
26d7e4e6de ircd::db: Remove unused path from flush-begin log message. 2018-11-07 00:57:11 -08:00
Jason Volk
cbbfbcac72 ircd::db: Optimize away one of the row ctor's vector heap allocations. 2018-11-05 17:12:29 -08:00
Jason Volk
a5955fc9ae ircd:Ⓜ️:dbs: Options package; configuration tweak. 2018-11-02 19:15:57 -07:00
Jason Volk
25e6cd1332 ircd::db: Add compression string option to column descriptor. 2018-11-02 18:32:47 -07:00
Jason Volk
8311c1e7ff ircd::db: Improve supported compressions listing w/ console cmd. 2018-11-02 18:02:27 -07:00
Jason Volk
49bad9f01d ircd::db: Check for posix_fadvise(); implement InvalidateCache for environment if not direct IO. 2018-11-02 01:30:15 -07:00
Jason Volk
1d03747da3 ircd::db: Toward O_DIRECT writes from writable_file environment. 2018-11-02 01:11:36 -07:00
Jason Volk
95d42686f3 ircd::db: Add reflection for WriteLifeTimeHint. 2018-11-02 01:07:09 -07:00
Jason Volk
7b798645a4 ircd::db: Downgrade error severity to allow administrative resume. 2018-11-02 00:05:21 -07:00
Jason Volk
3385d25c97 ircd::info: Improve various version information gathering. 2018-11-01 20:14:00 -07:00
Jason Volk
5dcc7cd93b ircd::db: Add error report state w/ interface w/ console cmd. 2018-10-31 15:53:43 -07:00
Jason Volk
0f7e17a519 ircd::db: Add resume from error interface w/ console cmd. 2018-10-31 15:03:32 -07:00
Jason Volk
5da7f20a9a ircd::db: Add and use reflection for Status::Severity. 2018-10-31 14:48:14 -07:00
Jason Volk
ac01ae0936 ircd::db: Move reflections for WriteStall- and BackgroundError- related. 2018-10-31 14:40:00 -07:00
Jason Volk
ee670af436 ircd::db: Fix WriteStallInfo reflection and log message. 2018-10-31 14:22:31 -07:00
Jason Volk
34e330d77b ircd::db: Simplify buffer alignment callback related; fix log message. 2018-10-31 14:09:10 -07:00
Jason Volk
f46886e0b8 ircd::db: Support future CanKeysWithDifferentByteContentsBeEqual feature. 2018-10-31 11:25:07 -07:00
Jason Volk
941b4ff8eb ircd::db: Support passthru stub for comparator feature. 2018-10-31 11:23:55 -07:00
Jason Volk
895c52694e ircd::db: Deinline database::comparator ctor. 2018-10-31 11:23:30 -07:00
Jason Volk
94fe5090f5 ircd::db: Strict block size deviation; relax read amplification bitmap 2018-10-22 13:53:02 -07:00
Jason Volk
8be65012ec ircd::db: Refactor column indexing and state to handle dropped columns. 2018-10-22 07:09:55 -07:00
Jason Volk
183be76a3a ircd::db: Use reference to descriptor in database::column object. 2018-10-22 07:09:16 -07:00
Jason Volk
5544da61b8 ircd::db: Move column alignment check outside of DB::Open ctor closure. 2018-10-22 04:34:05 -07:00
Jason Volk
d3e61abe7d ircd::db: Implement interface for column dropping. 2018-10-22 04:34:05 -07:00
Jason Volk
87feb65615 ircd::db: Integrate more detailed rocksdb::TableProperties into db::sst::info. 2018-10-21 09:26:02 -07:00
Jason Volk
b1bbbfe50b ircd::db: Convert sst::info ctors to assignment operators. 2018-10-21 09:15:30 -07:00
Jason Volk
7b4b6c479c ircd::db: Use dead branch rather than comment for has() regression for now. 2018-10-21 04:41:21 -07:00
Jason Volk
5a82a2e4e5 ircd::db: Move stats ticker hostpoint from database::cache to database::column. 2018-10-20 23:30:27 -07:00
Jason Volk
f9fca347d8 ircd::db: Reverse the compaction priority strategy. 2018-10-18 17:32:18 -07:00
Jason Volk
9da3d20e5c ircd::db: Precache required buffer alignment of random access file for repeat calls. 2018-10-18 08:27:03 -07:00
Jason Volk
c0058aa53c ircd::db: Fix debug variable name error. 2018-10-18 08:00:57 -07:00
Jason Volk
bd6f46f488 ircd::db: Column options package; meta column block sizes tweak. 2018-10-17 22:12:41 -07:00
Jason Volk
468c7e6f07 ircd::db: Add metadata block size parameter to the descriptor. 2018-10-16 13:39:43 -07:00
Jason Volk
df4ad6daca ircd::db: Column table options package post rocksdb v5.15 upgrade. 2018-10-16 09:13:53 -07:00
Jason Volk
167eb18470 ircd::db: Disable use of rocksdb KeyMayExist in db::has() due to regression. 2018-10-16 09:13:53 -07:00
Jason Volk
0ad41ea0ff ircd::db: Assert no context switch on iterator creation calls. 2018-10-16 09:13:53 -07:00
Jason Volk
bed1d49b6e ircd::db: Condition filter check on if used for column (rocksdb regression workaround). 2018-10-16 09:13:53 -07:00
Jason Volk
a24270d2bb deps: RocksDB to v5.15.10. 2018-10-15 22:31:29 -07:00
Jason Volk
37b55e4b11 ircd::db: Options package for table metadata. 2018-10-14 08:53:46 -07:00
Jason Volk
2c054ec9ca ircd::db: Comment with TODO about cache bloom filtering here. 2018-09-26 19:02:09 -07:00
Jason Volk
e542ef76fb ircd::db: Add per-cache statistics. 2018-09-26 18:00:18 -07:00
Jason Volk
d9dc597c1c ircd::db: Set a default high priority cache reserve percentage. 2018-09-26 02:44:20 -07:00
Jason Volk
3421667a45 ircd::db: Interface to get cache pinned usage. 2018-09-26 02:34:47 -07:00
Jason Volk
da46a2ac48 ircd::db: Do our own default sharding calc based on request context contention. 2018-09-26 02:03:31 -07:00
Jason Volk
65f52b0610 ircd::db: Remove the row pos seek. 2018-09-25 23:30:54 -07:00
Jason Volk
533d129322 ircd::db: Enable histogram interface; partial data tally. 2018-09-25 22:18:37 -07:00
Jason Volk
e5a96aab93 ircd::db: Deinline stats ctor; zero-init histogram; implement Reset(). 2018-09-25 21:20:02 -07:00
Jason Volk
295a08fc07 ircd::db: Checkpoint these level hard-values for now. 2018-09-25 16:38:19 -07:00
Jason Volk
32496af5da ircd::db: Ensure default init on int prop retval. 2018-09-25 15:07:56 -07:00
Jason Volk
8b27f7089d ircd::db: Supply an insertion hint prefix extractor. 2018-09-25 02:37:29 -07:00
Jason Volk
4e3efb73d3 ircd::db: Use cfmd rather than live-files way to get column family metadata. 2018-09-24 23:10:27 -07:00
Jason Volk
2f3c461664 ircd::db: Place linkage for db comparators so they have one address. 2018-09-24 22:00:21 -07:00
Jason Volk
66e5a19751 ircd::db: Move the port define; explain. 2018-09-24 21:34:08 -07:00
Jason Volk
1959c8556c ircd::db: Disable interruption in these frames fwiw. 2018-09-22 16:01:10 -07:00
Jason Volk
e745697448 ircd::db: Checkpoint some options related. 2018-09-22 16:01:10 -07:00
Jason Volk
3de9464058 ircd::db: Tweak/automake ingestion options related. 2018-09-22 15:04:39 -07:00
Jason Volk
e0bed2dc3e ircd::db: Add sst dump writer; move sst tool. 2018-09-22 15:04:38 -07:00
Jason Volk
99ff78f5c7 ircd::db: Create an sst utility space; move fileinfo into sst. 2018-09-22 13:28:44 -07:00
Jason Volk
f7da7d9be8 ircd::db: Support SST dump tooling. 2018-09-21 17:33:34 -07:00
Jason Volk
7834c86360 ircd::db: Add support for direct SST file ingestion. 2018-09-21 15:08:57 -07:00
Jason Volk
ae36485d13 ircd::db: Add back the target level to range compact. 2018-09-20 23:30:51 -07:00
Jason Volk
795d62b1c7 ircd::db: Don't override uuid gen. 2018-09-20 23:30:51 -07:00
Jason Volk
7676bd0944 ircd::db: Add a fileinfo wrapping interface. 2018-09-20 15:57:15 -07:00
Jason Volk
f80aaa7904 ircd::db: Add util to get file list for specific column. 2018-09-20 15:56:46 -07:00
Jason Volk
c1a2e44ce0 ircd::db: Mask interruption; noexcept in filter overrides. 2018-09-19 17:16:08 -07:00
Jason Volk
7427ec991c ircd::db: Add closure on manual compaction arguments. 2018-09-19 17:16:08 -07:00
Jason Volk
9afac08e40 ircd::db: Simplify compaction callback argument requirements w/ struct. 2018-09-19 17:16:07 -07:00
Jason Volk
53651ad808 ircd::db: Move database::descriptor out to db::descriptor. 2018-09-19 15:38:37 -07:00
Jason Volk
3abfb6b949 ircd::db: Some auto-compaction hard values for now. 2018-09-19 00:12:55 -07:00
Jason Volk
b979426f7a ircd::db: Update event-listener related. 2018-09-18 18:37:46 -07:00
Jason Volk
fc09ba81af ircd::db: Add compaction callback interface. 2018-09-18 15:07:09 -07:00
Jason Volk
176e70d2c7 ircd::db: Add table block_size setting to column descriptor. 2018-09-17 21:26:55 -07:00
Jason Volk
81d7ba8c39 ircd: Various string_view conversion fixes. 2018-09-13 06:47:52 -07:00
Jason Volk
09529ae311 ircd: Fix std::ios::openmode name. 2018-09-13 05:12:01 -07:00
Jason Volk
5e06c4795b ircd: Replace any std::uncaught_exception() -> std::uncaught_exceptions(). 2018-09-13 05:02:24 -07:00
Jason Volk
66edb4a7fb ircd::db: Add custom cache stats ticker. 2018-09-05 03:13:05 -07:00
Jason Volk
7f43da8a07 ircd::db: Test if directory for db::available() listing. 2018-09-04 02:32:12 -07:00
Jason Volk
f7fbd0f5d2 ircd::db: Detect O_DIRECT possible for database directory on init. 2018-09-04 02:32:12 -07:00
Jason Volk
4f55dac071 ircd::db: Minor cleanup. 2018-09-03 21:43:31 -07:00
Jason Volk
60a0694853 construct: Add program option to disable direct IO. 2018-09-03 07:59:05 -07:00
Jason Volk
80d0db9f26 ircd::db: Remove unnecessary default to O_DIRECT. 2018-09-03 07:48:23 -07:00
Jason Volk
b0e9107870 ircd::db: Cache size cannot be strict here. 2018-09-03 03:24:37 -07:00
Jason Volk
6f940ab51e ircd::db: Improve debug msg on column init. 2018-09-02 21:16:49 -07:00
Jason Volk
a5d014d10a ircd::db: Use our cache wrapping for block and compressed column caches. 2018-09-02 17:53:24 -07:00
Jason Volk
084d434c59 ircd::db: Add internal cache wrapper interface; add comment. 2018-09-02 17:53:24 -07:00
Jason Volk
62426ab210 ircd::db: Add column prefetch. 2018-09-01 07:15:03 -07:00
Jason Volk
ca1ee19a47 ircd::db: Minor simplify. 2018-09-01 07:15:03 -07:00
Jason Volk
ff7d2514a0 ircd::db: Remove the cache prefetch/fetch interface. 2018-09-01 07:15:03 -07:00
Jason Volk
ac3b45604a ircd::db: Move comment. 2018-08-30 07:21:44 -07:00
Jason Volk
b1aa733d95 ircd::db: Additional critical exclusion and interruption zones. 2018-08-28 21:53:17 -07:00
Jason Volk
5c6874c790 ircd::db: Get better required alignments for direct IO. 2018-08-28 20:15:40 -07:00
Jason Volk
d70ef25711 ircd::db: Simplify port entry checks. 2018-08-28 15:57:49 -07:00
Jason Volk
3833aa70cb ircd::db: Additional trivial vtable placements. 2018-08-28 15:44:03 -07:00
Jason Volk
a4e4424ede ircd: Improve main control flow for termination condition during init. 2018-08-28 15:04:23 -07:00
Jason Volk
8340f005da ircd::db: Use terminate() on the request pool on ~init(); log messages. 2018-08-28 12:06:56 -07:00
Jason Volk
cd74a39330 ircd::db: Move the write mutex to a global and lock for compaction points too. 2018-08-26 20:46:59 -07:00
Jason Volk
0b98144cfe ircd::db: Minor cleanup; assertions. 2018-08-24 10:59:22 -07:00
Jason Volk
84f4cbd359 ircd::db: Serialize entry to rdb's write impl to circumvent pthread deadlock. 2018-08-24 03:40:37 -07:00
Jason Volk
c94b6f02ca ircd::db: Options package; no DIO writes 2018-08-24 03:40:25 -07:00
Jason Volk
1450678b83 ircd::db: Plug remaining filesystem operations into ircd::fs / AIO. 2018-08-24 00:40:35 -07:00
Jason Volk
6f2eeaec67 ircd::db: Full dressing on the environment. 2018-08-23 23:08:41 -07:00
Jason Volk
ec0670262e ircd::db: Give some env callbacks handlers. 2018-08-23 18:57:24 -07:00
Jason Volk
bbcddbcf5b ircd::db: Use our fs::size() for file sizing env callback. 2018-08-23 05:37:32 -07:00
Jason Volk
29d4ec71d5 ircd::db: Update env exception handlers to propagate to rocksdb. 2018-08-23 04:20:16 -07:00
Jason Volk
f630c28439 ircd::db: Add error_to_status conversion for rocksdb::Status. 2018-08-23 04:19:32 -07:00
Jason Volk
585f6c97c3 ircd::db: Minor cleanup. 2018-08-23 04:16:49 -07:00
Jason Volk
671170afb4 ircd::db: Use an ircd::assertive so failure happens in optimized mode here. 2018-08-23 02:19:28 -07:00
Jason Volk
824e3305a4 ircd::db: Implement WaitForJoin() to wait on all ctx pool joins. 2018-08-23 02:16:44 -07:00
Jason Volk
d01430e64a ircd::db: Replace default sleep() callback with ctx::sleep(). 2018-08-23 02:14:50 -07:00
Jason Volk
5239e49f4f ircd::db: Improve opts related for random_access_file; minor cleanup. 2018-08-23 01:54:58 -07:00
Jason Volk
7698759d04 ircd::db: Integrate env::sequential_file with AIO. 2018-08-23 01:54:18 -07:00
Jason Volk
b753637385 ircd::db: request pool conf item set callback. 2018-08-22 14:37:52 -07:00
Jason Volk
b964f9520f ircd::db: max_open_files must NOT be 0 or files are open/close too often. 2018-08-22 13:13:03 -07:00
Jason Volk
de973740e3 ircd::db: Additional db env debug log. 2018-08-22 12:56:17 -07:00
Jason Volk
23d0c7384d ircd::db: Catch everything here because there's nowhere else to go. 2018-08-21 08:49:11 -07:00
Jason Volk
b3ff44d0fb ircd::db: Fix the cache insert misapprehensions. 2018-08-21 00:49:40 -07:00
Jason Volk
6d3eb3ae85 fixup! ircd::db: Fix cache iteration interpretation. 2018-08-21 00:42:13 -07:00
Jason Volk
ca0dcd36e4 ircd::db: Supply fs::uuid in this env callback. 2018-08-21 00:21:06 -07:00
Jason Volk
1f8a756f23 ircd::db: Comment / minor cleanup. 2018-08-21 00:20:54 -07:00
Jason Volk
0f021e09d4 ircd::db: Fix cache iteration interpretation. 2018-08-21 00:20:30 -07:00
Jason Volk
11f266aa37 ircd::db: Fix exclusion and lock option required for cache iteration. 2018-08-21 00:19:53 -07:00
Jason Volk
d4c51a2d45 ircd::db: Disable interruption for rocksdb entry surface. 2018-08-19 20:11:41 -07:00
Jason Volk
c7080bf144 ircd::db: Disable interruption for these env surfaces. 2018-08-19 20:11:40 -07:00
Jason Volk
d4b98e04e9 ircd::db: Minor cleanup. 2018-08-19 18:35:42 -07:00
Jason Volk
0dd075ab78 ircd::db: Checkin some options related. 2018-08-19 01:16:49 -07:00
Jason Volk
b8936261b5 ircd::db: Add some exception handlers on these envs. 2018-08-19 01:14:54 -07:00
Jason Volk
e620965d4c ircd::db: Make request pool size a conf item. 2018-08-18 22:10:39 -07:00
Jason Volk
ff4e20d948 ircd::db: Minor commentary on interruption. 2018-08-18 21:02:42 -07:00
Jason Volk
c2c68e386d ircd::db: Fix these missing retvals. 2018-08-18 20:59:42 -07:00
Jason Volk
9165c71afd ircd::db: Concurrent row seek. 2018-08-18 20:59:28 -07:00
Jason Volk
89e920fdd4 ircd::db: Add column cache check util. 2018-08-18 20:40:23 -07:00
Jason Volk
65b18ae7a6 ircd::db: Concurrent row requests. 2018-08-18 19:30:25 -07:00
Jason Volk
1b7e3af966 ircd::db: Simplify internal seek stack; minor cleanup. 2018-08-18 18:41:22 -07:00
Jason Volk
e2c17d2595 ircd::db: Add some arbitrary sanity checks on port structures. 2018-08-18 18:20:38 -07:00
Jason Volk
8537cca439 ircd::db: Improvements to cache interface. 2018-08-18 17:59:31 -07:00
Jason Volk
9cee6a40c9 construct: Interruption point after command. 2018-08-17 14:26:44 -07:00
Jason Volk
bf429e0c9e ircd::db: Mask interruption for compaction operations. 2018-08-17 14:13:27 -07:00
Jason Volk
eca3a5b85b ircd::db: No need for adopt_lock here. 2018-08-17 13:38:32 -07:00
Jason Volk
850fd0238a ircd::db: Remove offload shenanigans. 2018-08-17 12:51:49 -07:00
Jason Volk
31ff4f68cb ircd::db: Plug env::random_access_file into AIO. 2018-08-17 12:51:48 -07:00
Jason Volk
6db0659c06 ircd::db: Enable port; minimal context pool state. 2018-08-17 12:51:48 -07:00
Jason Volk
26a856acb8 ircd::db: Appropriately case these reflections. 2018-08-17 12:51:48 -07:00
Jason Volk
928e40ada0 ircd::db: Minor cleanup; add additional env log msg. 2018-08-17 12:51:48 -07:00
Jason Volk
a98bd357df construct/ircd: Add -pitrecdb option to allow point-in-time recovery. 2018-07-06 17:09:33 -07:00
Jason Volk
3ba3ef46af ircd::db: Fix SST file creation on open; disable sst mgr to remove extra thread spawn. 2018-07-04 16:47:11 -07:00
Jason Volk
5ab8b9bdae ircd::db: Add init warning for no compression; minor reorg inits. 2018-06-12 01:00:15 -07:00
Jason Volk
960553f279 ircd::db: Checkpoint skeleton state structure for env. 2018-06-09 13:40:21 -07:00
Jason Volk
4ce6b69f69 ircd::db: Additional env debug messages. 2018-06-02 09:18:01 -07:00
Jason Volk
fd41a3b9c1 ircd::db: Add db env debug log msg to WaitForJoin. 2018-06-01 12:36:46 -07:00
Jason Volk
7e25d99cc6 ircd::db: Convert rocksdb::port from pthread to ircd::ctx. 2018-06-01 12:36:46 -07:00
Jason Volk
d56c856573 ircd::db: Reorg to group all thread related env callbacks together. 2018-06-01 06:23:39 -07:00
Jason Volk
7461de8b3d ircd::db: Condition to check database from ircd::checkdb via -checkdb command line option. 2018-05-31 12:47:37 -07:00
Jason Volk
73fc596cb6 ircd::db: Add experimental port linktime override suite. 2018-05-30 04:59:04 -07:00
Jason Volk
3e6fdbd93d ircd::db: Use #defines rather than comments for excessive log calls. 2018-05-29 02:52:47 -07:00
Jason Volk
4dd0b6c7b2 ircd::db: Minor syntax cleanups. 2018-05-29 01:42:04 -07:00
Jason Volk
d4c2ec6b22 ircd::db: Fix iterator invalidation from a cache-missing seek. 2018-05-25 06:21:03 -07:00
Jason Volk
2564b28743 ircd::db: Properly maintain db::gopts as iterator state. 2018-05-25 03:07:30 -07:00
Jason Volk
ff21175036 ircd::db: Integrate checkpointing with database name and path schema. 2018-05-24 20:52:49 -07:00
Jason Volk
4ce29f1d22 ircd::db: Add cache clear interface w/ console cmd. 2018-05-24 01:18:58 -07:00
Jason Volk
7bfe9e94a1 ircd::db: Default to no checksums on all reads; add conf item; adjust opts. 2018-05-23 18:45:27 -07:00
Jason Volk
5708d9c36b ircd::db: Consolidate various stats interfaces into header. 2018-05-23 17:04:02 -07:00
Jason Volk
77755a2ab4 ircd::db: Add interface to rocksdb iostats w/ console cmd. 2018-05-23 16:57:49 -07:00
Jason Volk
1c20df652b ircd::db: Elaborate interface to the rocksdb perf_context. 2018-05-23 16:27:44 -07:00
Jason Volk
8b15512849 ircd::db: Add database's unique id string interface. 2018-05-22 17:01:01 -07:00
Jason Volk
9d5afc8e87 ircd::db: Add separate check(database); Add log notice when checking on open. 2018-05-22 16:52:34 -07:00
Jason Volk
1afba986b3 ircd::db: Support additional rdb comparator features. 2018-05-21 19:52:18 -07:00
Jason Volk
c2b45aacc3 ircd::db: Use better column count in row ctor. 2018-05-19 23:13:54 -07:00
Jason Volk
296eff7c5d ircd::db: Removed unused cell features. 2018-05-19 18:49:06 -07:00
Jason Volk
ab4f2b362f ircd::db: Decrease temp default row cache size. 2018-05-19 18:49:05 -07:00
Jason Volk
47b28d9295 ircd::db: Add cache key remover. 2018-05-19 18:49:04 -07:00
Jason Volk
9e0acde5cf ircd::db: Add cache entry iteration (experimental). 2018-05-19 18:49:04 -07:00
Jason Volk
8f40fd574a ircd::db: Interface to test if cache entry exists. 2018-05-19 18:49:04 -07:00
Jason Volk
f97c9fff99 ircd::db: Add interface to database & column caches. 2018-05-19 18:49:04 -07:00
Jason Volk
507b8e4f1c ircd::db: Minor cleanup. 2018-05-19 18:49:04 -07:00
Jason Volk
9388e65250 ircd::db: Fix constness of colname vector values. 2018-05-19 18:49:02 -07:00
Jason Volk
508baeb4a5 ircd::db: Move vector of colptrs to stack. 2018-05-19 18:49:02 -07:00
Jason Volk
f160963c02 ircd::db: Split column compact range and files operations for interface. 2018-05-10 17:06:35 -07:00
Jason Volk
f34ebec1cf ircd::db: Add convenience read(column) nothrow overloads. 2018-05-04 20:43:05 -07:00
Jason Volk
e6fe7805c1 ircd::db: Minor simplify db::read(column). 2018-05-04 20:43:04 -07:00
Jason Volk
9af649f739 ircd::db: Consolidate write(column) overloads. 2018-04-30 07:18:06 -07:00
Jason Volk
a734798100 ircd::db: Minor cleanup. 2018-04-26 17:52:24 -07:00
Jason Volk
8083a5d71c ircd::db: Add WAL fflush; move table flushes to "sort()"; adjust interfaces. 2018-04-26 17:19:29 -07:00
Jason Volk
93ca1448d1 ircd::db: Verify SST checksums on db open. 2018-04-26 16:48:35 -07:00
Jason Volk
94439a334e ircd::db: Cleanup/Simplify db open ptr construction. 2018-04-26 16:39:59 -07:00
Jason Volk
173093e45a ircd::db: Fix default description to include default column. 2018-04-26 16:22:16 -07:00
Jason Volk
f866c9a4de ircd::db: Flush here does not mean what one might think it means. 2018-04-22 15:08:26 -07:00
Jason Volk
ebea2e2385 ircd::db: Explicitly involve SST files in column compaction. 2018-04-20 17:03:20 -07:00
Jason Volk
6de7fb7b8c ircd::db: Adjust destruction sequence for rocksdb DB::Close() call. 2018-04-20 17:03:20 -07:00
Jason Volk
f3b0fa3b4e ircd::db: Additional option tweaks. 2018-04-20 17:03:20 -07:00
Jason Volk
e3b2bcf19d ircd::db: Maintain SST file manager instance. 2018-04-20 15:45:57 -07:00
Jason Volk
532f987bd6 ircd::db: Move column compact()/flush() to more consistent place. 2018-04-20 15:22:50 -07:00
Jason Volk
666e509c97 ircd::db: Expose setoptions interface. 2018-04-20 15:22:50 -07:00
Jason Volk
f805344604 ircd::db: Options package for file growth, count and compaction related. 2018-04-20 15:22:50 -07:00
Jason Volk
e6a80082c8 ircd::db: Assertion for non-empty key seek. 2018-04-17 20:30:06 -07:00
Jason Volk
b95a588bc4 ircd::db: Comment/improve descriptor/column options. 2018-04-17 15:28:08 -07:00