Jason Volk
6fe0ea05b8
add remove_batch with transaction to database abstraction.
...
adjusted to make building sqlite happy again
Signed-off-by: Jason Volk <jason@zemos.net>
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-19 00:17:41 -04:00
strawberry
b4fa306a20
remove rocksdb optimize_level_style_compaction
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-19 00:17:41 -04:00
strawberry
a3c24bcc31
add rocksdb_bottommost_compression_level config option
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-16 00:09:48 -04:00
strawberry
9a9f7b9c54
add RocksDB rocksdb_compression_level and rocksdb_bottommost_compression
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-16 00:09:48 -04:00
Jason Volk
10336f9af6
use WriteBatchWithTransaction for batched insertions.
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-16 00:09:48 -04:00
strawberry
fcca352795
apply Read/Write/FlushOptions where available for future usage
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-16 00:09:48 -04:00
strawberry
20c089b7ed
simplify/tune rocksdb options, config option for compression algo
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-16 00:09:48 -04:00
strawberry
0db3a43d1f
add multi_get (multi_get_cf) for rocksdb
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-16 00:09:48 -04:00
strawberry
fee6cad778
s/rocksdb/rust_rocksdb, fix copy paste errors
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-10 13:03:28 -04:00
strawberry
d2060c8647
add config option for max RocksDB LOG files
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-08 12:51:21 -05:00
strawberry
7bfb86a851
set default rocksdb log level to error
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-08 12:51:21 -05:00
strawberry
7cbb0139f2
implement flush() and cleanup() for rocksdb
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-08 12:51:21 -05:00
strawberry
f419c64aca
add rustfmt.toml, format entire codebase
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-08 12:51:21 -05:00
strawberry
90d90c46da
use get_physical for only physical core count
...
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-03-08 12:51:21 -05:00
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
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
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
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
Jonas Platte
5fa9190117
Simplify return type of most route handlers
2022-02-12 12:56:08 +01: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
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
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