Commit Graph

348 Commits

Author SHA1 Message Date
Miroslav Crnic
0b3348b458 SharedRocksDB: (ref) paths in constructor 2024-05-17 14:23:25 +00:00
Miroslav Crnic
ab337068ad httplib: use poll instead of select 2024-05-17 14:23:01 +00:00
Miroslav Crnic
f5e17dace5 cdc: add LogsDB
* cdc: pack req/resp into log entries and apply

* shard: drop support for unused incomming packet drop

* cdc: add logsdb
2024-05-14 12:50:17 +01:00
Miroslav Crnic
91d462ab0e UDPSocketPair: (fix) dont look at unused fd-s 2024-05-14 08:51:29 +00:00
Miroslav Crnic
aa8925adf9 shard: fix stats 2024-05-04 09:17:45 +01:00
Miroslav Crnic
8a0ea10cde core: UDPSocketPair and use IpPort AddrsInfo everywhere
* core: UDPSocketPair and use IpPort AddrsInfo everywhere

* Refactor UDPSocketPair a bit

* ci: kmod always delete img before create

* shuckle: fix scripts/json marshal

---------

Co-authored-by: Francesco Mazzoli <francesco.mazzoli@xtxmarkets.com>
2024-05-03 11:32:07 +01:00
Francesco Mazzoli
ded0787c18 Fix no-return function 2024-05-01 08:53:38 +00:00
Francesco Mazzoli
cd8e52f8f7 Remove assertions in ShardDB
We got a crash because of it (presumably can happen if defrag
conflicts with migrate or something like that)
2024-05-01 08:13:19 +00:00
Miroslav Crnic
bbe201964d shard: bump quiet time for metric inserter alert to 5 min 2024-04-30 17:54:13 +01:00
Francesco Mazzoli
40ed10b2c6 Bump quiet period for metrics alerts
VictoraMetrics is often acting up
2024-04-29 11:39:54 +00:00
Francesco Mazzoli
d3be7bf53a Remove old-style register block service request 2024-04-22 19:20:04 +00:00
Francesco Mazzoli
f109e3542b Have eggsblocks to refresh decommissioned block services
So that we can reliably ignore stale block services in GC (done in
a future commit). To enable this and future-proof this kind of
mechanism (e.g. having `eggsblocks` to mark something as D itself)
I added a new way to register the block service that lets you mask
which flags you're checking. I'll remove the old way once we've
rolled out everywhere.
2024-04-22 18:47:54 +00:00
Miroslav Crnic
6007192a31 bincode: generate STATIC_SIZE for req/resp 2024-04-22 13:49:49 +01:00
Miroslav Crnic
43f69b1f7e shuckle: support ClearShardInfoReq/Resp 2024-04-16 10:25:24 +01:00
Miroslav Crnic
a579b41dfc shuckle: support for MoveLeaderReq 2024-04-15 14:24:15 +01:00
Miroslav Crnic
c1cea71f55 shard: dont serve reads if not leader 2024-04-15 14:23:55 +01:00
Miroslav Crnic
5fad8546bd shard: increase block fetch interval on leader to 2min 2024-04-10 13:51:00 +01:00
Francesco Mazzoli
51cda3a98b Clear data in shuckle block service fetch loop for symmetry 2024-04-10 10:39:46 +00:00
Francesco Mazzoli
20e7635d75 Clear data when request fails in Shuckle.cpp 2024-04-10 10:39:30 +00:00
Francesco Mazzoli
d8267f18c6 Add more fsck functionality 2024-04-09 17:57:00 +00:00
Miroslav Crnic
2de5c6b5dc shard: delay block service update on leader 2024-04-09 17:59:59 +01:00
Francesco Mazzoli
eb766f2fb5 Do not attempt to cross-shard unlink file if the file is a directory 2024-04-09 11:43:03 +00:00
Francesco Mazzoli
e42c548777 Make SwapSpans idempotent 2024-04-09 07:53:10 +01:00
Francesco Mazzoli
13bf9a005a Run fsck at the end of tests 2024-04-09 07:53:10 +01:00
Francesco Mazzoli
f10c7e0744 Add eggscli functionality to "defrag" files
Fixes #50.
2024-04-09 07:53:10 +01:00
Francesco Mazzoli
4dd929a798 Implement swap spans 2024-04-09 07:53:10 +01:00
Miroslav Crnic
409b126e4b cdc: use SharedRocksDB 2024-04-05 23:22:39 +01:00
Miroslav Crnic
fcb8ab79f8 shard: always run with logsdb, disable separate ci 2024-04-05 21:50:33 +01:00
Miroslav Crnic
0a6e4be683 shard: disable double flush and improve kmod vm 2024-04-05 17:34:42 +01:00
Francesco Mazzoli
d44b331739 Remove one-off fixup command in db tools 2024-04-05 12:55:35 +00:00
Francesco Mazzoli
498eb0feda Add single-use utility to fixup some bad RocksDB values in shard 0 2024-04-04 15:55:11 +00:00
Miroslav Crnic
9f1dbf06d0 eggsshuckle: detect leader change attempt and return error 2024-04-04 13:39:08 +01:00
Miroslav Crnic
de17eee24f core: fix incorrect return in connectHost 2024-04-03 15:08:48 +01:00
Miroslav Crnic
30ee029f7e shuckle: make requests interruptable and pass timeout to all operations
This means that they'll be interrupted at shutdown, rather than holding everything up when shuckle is overloaded.
We also detect idle connection or slow transmitting data.
2024-04-02 18:15:29 +01:00
Francesco Mazzoli
b38dcc550b fsck fixes/logs 2024-03-28 10:04:15 +00:00
Miroslav Crnic
7e394d2d5e SharDBTools: add missing include 2024-03-28 09:29:05 +00:00
Francesco Mazzoli
68c4c03750 Add command to run some checks directly in RocksDB database 2024-03-27 18:45:14 +00:00
Miroslav Crnic
16fb2b3797 shard: auto drop all data in LogsDB if not in use 2024-03-27 17:09:51 +00:00
Miroslav Crnic
8035e003f0 shard: re-enable starting with logsdb 2024-03-27 13:16:32 +00:00
Francesco Mazzoli
8de52aa6c9 Simplify eggsdbtools command parsing/execution 2024-03-27 12:18:16 +00:00
Miroslav Crnic
65e5b6e7ac cdc: shuckle-stats 2024-03-26 09:40:44 +00:00
Miroslav Crnic
f773a88bd9 shard: enable writes 2024-03-26 08:39:17 +00:00
Miroslav Crnic
3c5318e7dc shard: read-only and no logsdb 2024-03-26 05:47:47 +00:00
Francesco Mazzoli
7a5fc9f8a9 Allow to disable shuckle stat inserting 2024-03-25 16:08:54 +00:00
Miroslav Crnic
aebcce4017 logsdb: fix assert for last relased going backwards 2024-03-25 10:31:58 +00:00
Miroslav Crnic
7df0a5da89 shard: cli options now match migration phases for LogsDB, and support manual failover 2024-03-20 15:34:55 +00:00
Saulius Grusnys
fd9079febf Rate limited shuckle endpoint to decom blockservices 2024-03-20 15:16:00 +00:00
Francesco Mazzoli
1cf299bfac Use atomics where appropriate 2024-03-20 13:21:18 +00:00
Francesco Mazzoli
f85714dbba Use pthread_self() to get pthread thread id 2024-03-20 13:11:14 +00:00
Francesco Mazzoli
3a6e498664 Make some Loop methods static 2024-03-20 13:00:18 +00:00