Commit Graph

89 Commits

Author SHA1 Message Date
strawberry
0352ea7dda add rocksdb parallelism threads config option
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-08 12:51:21 -05:00
strawberry
c97483dbd3 fix rocksdb-specific lints
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-03 22:20:37 -05:00
strawberry
e2c7afe69c go through a ton of pedantic clippy lints
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-03 22:20:37 -05:00
strawberry
b26c593a2a adjust max rocksdb LOG files based on hard drive or SSD option
keeps 3 LOG files at most if on hard drive, else keeps 20

Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-03 22:20:37 -05:00
strawberry
82f10214b3 remove all unused lifetimes
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-02-28 13:56:19 -05:00
strawberry
24625e9659 resolve nightly rust warnings
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-02-26 00:40:15 -05:00
strawberry
36bc21193c oops forgot import
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-02-20 07:06:57 -05:00
strawberry
3d26210eac more useful database logging (compaction, time taken to load)
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-02-20 07:06:57 -05:00
strawberry
fae00e5136 remove rocksdb_max_open_files option
default for RocksDB is -1 and conduwuit already raises the
soft and hard nofile limits at startup.

Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-25 19:28:33 -05:00
strawberry
59c7f93656 fix more clippy lints (part 1)
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-17 14:26:26 -05:00
strawberry
ee2f1c3084 the great persy, sled, and heed purge (and bump MSRV to 1.74.1)
these database backends are either unmaintained, broken in conduit, or
incredibly niche for something like conduwuit.

also i want to bump the MSRV.

Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-01-14 20:55:56 -05:00
strawberry
5e641e2886 move default rocksdb logging from info to warn
info is still logging useless database statistics and metrics that will
accumulate, less I/O activity.

Signed-off-by: strawberry <strawberry@puppygock.gay>
2023-12-25 17:07:24 -05:00
strawberry
d9d1ce3cb5 fix refering uninit static, use upstream rocksdb again, don't compile debug info
even rust-analyzer themselves don't compile with debug info because it
makes cargo checks and builds in general a lot longer. helps speed
things up and we mainly care about panics/stacktraces and compiler
errors.

https://github.com/rust-lang/rust-analyzer/blob/master/Cargo.toml#L12-L15

upstream rust-rocksdb is active again finally

Signed-off-by: strawberry <strawberry@puppygock.gay>
2023-12-03 01:00:23 -05:00
strawberry
f62f641545 add rocksdb configurable options and tweaks, logging improvements, exp. room v11 support
split out the spinning disk focused options into a configurable option, current
conduwuit users are NVMe/SSDs anyways so those options are just hindering performance.

rocksdb logging builds up overtime with no cleanup or anything, adds support for
configuring the amount of logging, size of files, log rotate, etc.
fixes https://gitlab.com/girlbossceo/conduwuit/-/issues/1

misc conduit logging improvements for help debugging issues and maybe a future feature

experimental Room V11 support from https://gitlab.com/famedly/conduit/-/merge_requests/562

Signed-off-by: strawberry <strawberry@puppygock.gay>
2023-12-02 21:30:06 -05:00
strawberry
87d6a17f0a fix all the warnings!!!! (0 clippy and rustc warnings now)
too many changes to list, codebase significantly better than it was a few weeks ago though

Signed-off-by: strawberry <june@girlboss.ceo>
2023-11-29 21:36:02 -05:00
girlbossceo
9bb1dca5f1 mark unused variables as unusued
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-10-28 22:34:50 -04:00
girlbossceo
a3d219e401 tweak rocksdb, use direct io
Signed-off-by: girlbossceo <june@girlboss.ceo>
2023-10-21 12:18:41 -04:00
Charles Hall
9fb8498067 relax recovery mode 2023-07-26 15:32:36 -07:00
Timo Kösters
a2c3256ced improvement: better memory usage and admin commands to analyze it 2023-07-03 19:41:07 +02:00
Timo Kösters
49b5af6d45 chore: bump rocksdb 2023-05-21 13:41:51 +02:00
Nyaaori
c86313d4fa chore: code cleanup
https://rust-lang.github.io/rust-clippy/master/index.html#op_ref

https://rust-lang.github.io/rust-clippy/master/index.html#str_to_string

https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes
2022-12-21 10:42:12 +01:00
Timo Kösters
2a0515f528 Replace println/dbg calls with corresponding macros from tracing crate 2022-12-18 07:52:22 +01:00
Tglman
842feabced fix: update persy implementation after refactor 2022-10-13 20:02:36 +01:00
Nyaaori
f430b87459 cargo clippy 2022-10-10 14:09:11 +02:00
Timo Kösters
ca82b2940d fix: sending does not work
We were inserting one too many 0xff bytes
2022-10-10 14:02:05 +02:00
Timo Kösters
a4637e2ba1 cargo fmt 2022-10-10 14:02:01 +02:00
Timo Kösters
057f8364cc fix: some compile time errors
Only 174 errors left!
2022-10-10 13:25:01 +02:00
Timo Kösters
df4c38cb61 fix: remove warnings 2022-04-07 13:22:32 +02:00
Jonas Platte
0ad6eac4f8 Remove all tracing::instrument attributes from database::abstraction::* 2022-02-12 16:38:47 +01:00
Jonas Platte
5fa9190117 Simplify return type of most route handlers 2022-02-12 12:56:08 +01:00
Timo Kösters
5d3ba5c628 Merge branch 'WIP_persy_batch_next' into 'next'
feat: Integration with persy using background ops

See merge request famedly/conduit!231
2022-01-21 15:31:46 +00:00
Timo Kösters
8c90e7adfb refactor: fix warnings 2022-01-17 14:46:03 +01:00
Timo Kösters
ee8e72f7a8 feat: implement server ACLs 2022-01-17 14:35:38 +01:00
Tglman
f9977ca64f fix: changes to update to the last database engine trait definition 2022-01-15 14:17:15 +00:00
Tglman
1cc41937bd refactor:use generic watcher in persy implementation 2022-01-15 14:17:15 +00:00
Tglman
ab15ec6c32 feat: Integration with persy using background ops 2022-01-15 14:17:15 +00:00
Timo Kösters
d434dfb3a5 feat: config option for rocksdb max open files 2022-01-14 11:44:20 +01:00
Timo Kösters
16f826773b refactor: fix warnings 2022-01-13 22:55:35 +01:00
Timo Kösters
6fa01aa982 fix: remove dbg 2022-01-13 22:44:27 +01:00
Timo Kösters
a336027b0e fix: better memory usage message 2022-01-13 22:44:27 +01:00
Timo Kösters
9e77f7617c fix: disable direct IO again 2022-01-13 22:44:27 +01:00
Timo Kösters
7f27af032b improvement: optimize rocksdb for spinning disks 2022-01-13 22:44:26 +01:00
Timo Kösters
b96822b617 fix: use db options for column families too 2022-01-13 22:44:26 +01:00
Timo Kösters
0bb7d76dec improvement: rocksdb configuration 2022-01-13 22:44:26 +01:00
Timo Kösters
077e9ad438 improvement: memory usage for caches 2022-01-13 22:44:25 +01:00
Andrej Kacian
68ee1a5408 Add rocksdb implementation of memory_usage() 2022-01-13 22:42:25 +01:00
Timo Kösters
fa6d7f7ccd feat: database backend selection at runtime 2022-01-13 22:42:22 +01:00
Timo Kösters
54f4d39e3e improvement: don't fetch event multiple times 2022-01-13 22:29:17 +01:00
Timo Kösters
b1d9ec3efc fix: atomic increment 2022-01-13 22:28:18 +01:00
Timo Kösters
c9c9974641 fix: stack overflows when fetching auth events 2022-01-13 22:10:50 +01:00