Commit Graph

206 Commits

Author SHA1 Message Date
Miroslav Crnic
75dfd723c0 shuckle: fix ClearCdcInfoReq name 2024-09-17 10:05:46 +00:00
Miroslav Crnic
b2ea95091a shuckle: support cdc replica moving across hosts 2024-09-16 17:31:47 +01:00
Miroslav Crnic
59fc480e85 shuckle: remove unused requests 2024-09-16 15:21:06 +01:00
Miroslav Crnic
2dec9ec117 cdc: register location 2024-09-12 14:27:55 +01:00
Miroslav Crnic
f8c4096dc9 shard: register location 2024-09-12 14:27:27 +01:00
Miroslav Crnic
8ac93a4c54 shuckle: add location for all services 2024-09-11 16:59:19 +01:00
Miroslav Crnic
76695ec22b shard: check enough current block services 2024-09-02 16:49:31 +00:00
Miroslav Crnic
35fe242fe3 eggsshard: check shuckle gives services from different fd-s 2024-09-02 16:05:59 +01:00
Miroslav Crnic
9cd425d7f3 eggsblocks/kmod: add file_id to FetchBlockWithCrcReq 2024-08-22 14:11:01 +01:00
Miroslav Crnic
49bd2e6a2a eggsblocks: conversion as a separate request 2024-08-21 15:39:11 +01:00
Miroslav Crnic
73622ce637 eggsblocks: write/read from new block format with crc after page 2024-08-20 14:55:45 +01:00
Miroslav Crnic
204cf5bb8f eggsdbtools: output log entries from shard/cdc 2024-08-19 13:12:33 +00:00
Miroslav Crnic
cf40e318ec shuckle: support BlockServicesWithFlagChangeReq 2024-07-24 10:08:01 +01:00
Miroslav Crnic
a41a4b7482 shuckle: drop BlockServiceInfoWithoutFlagsLastChanged 2024-07-23 15:40:44 +01:00
Miroslav Crnic
1b258dc422 all: migrate to new BlockServiceInfo 2024-07-23 13:53:07 +01:00
Miroslav Crnic
49723653f8 shuckle: BlockServiceInfo backward compatibility
* shuckle: rename BlockServiceInfo to BlockServiceInfoWithoutFlagsLastChanged

* shuckle: handle AllBlockServices
2024-07-23 13:10:57 +01:00
Miroslav Crnic
e2bfb15c5f blockservice: add BlockFetchWithCrc 2024-07-12 14:24:37 +01:00
Miroslav Crnic
3195d39d9d stats: fully remove everywhere 2024-07-09 15:22:10 +00:00
Miroslav Crnic
c7b6a1cbeb stats: stop producing them 2024-07-09 15:57:01 +01:00
Miroslav Crnic
f3b7ef4d94 eggsgc: destroy decommissioned blocks through shuckle 2024-07-02 09:52:20 +00:00
Miroslav Crnic
6cf8a01272 core: UDPSocketPair send in a loop to avoid sendmmsg UIO_MAXIOV limit 2024-06-19 17:23:10 +01:00
Miroslav Crnic
78baed62a5 cdc: request checkpoints from shard and push through log 2024-06-13 16:24:22 +01:00
Miroslav Crnic
9e13d6b56e shard: support checkpointed responses 2024-06-13 15:39:37 +01:00
Miroslav Crnic
2cd15fc0be core: various protocol changes 2024-06-13 09:13:11 +01:00
Miroslav Crnic
6eaed4ff0e core: remove Stopped (unused) 2024-06-12 15:10:58 +00:00
Miroslav Crnic
170f2fbc61 logsdb: add stats and expose in shard/cdc 2024-06-10 16:24:49 +01:00
Miroslav Crnic
1f145c030e shard/cdc: support snapshoting 2024-05-23 10:17:59 +01:00
Miroslav Crnic
1446e4d0d2 cdc: force log cleanup after crash
Transactional db that CDC uses has a slightly
annoying property that it flushes WAL on transaction
start. As a result release point can get moved and
log records persisted even if we crash.
We want to remove them automatically for now.
2024-05-22 16:58:18 +00:00
Miroslav Crnic
f11b675807 shuckle: add cdc replicas to page 2024-05-22 11:57:34 +00:00
Miroslav Crnic
b524748210 cdc: use DEFAULT_UDP_MTU for serialization of entries 2024-05-21 14:23:27 +00:00
Francesco Mazzoli
6faa917c18 Add endpoint and cli util to resurrect files
Only works in the same shard, for now.
2024-05-20 12:06:15 +00:00
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
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
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
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
Francesco Mazzoli
20e7635d75 Clear data when request fails in Shuckle.cpp 2024-04-10 10:39:30 +00:00
Francesco Mazzoli
e42c548777 Make SwapSpans idempotent 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
0a6e4be683 shard: disable double flush and improve kmod vm 2024-04-05 17:34:42 +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
68c4c03750 Add command to run some checks directly in RocksDB database 2024-03-27 18:45:14 +00:00