Commit Graph

125 Commits

Author SHA1 Message Date
Joshua Leahy
7a4e466ac6 Make TernFS open source 2025-09-17 18:20:23 +01:00
Miroslav Crnic
c29f3191d8 core: common option parsing 2025-09-17 09:07:20 +00:00
Miroslav Crnic
8c75dd0d89 registry: changes to core/messages 2025-09-17 09:07:14 +00:00
Joshua Leahy
4d59472fad Remove iostream from Common.hpp (iosfwd should do) 2025-09-11 13:12:40 +01:00
Joshua Leahy
99b56195ec Replace wyhash with something licensable
Unfortunately Lemire's wyhash code was licensed as Apache, we'd rather
have something compatible with GPLv2. This probably a more appropriate
choice anyway.
2025-09-11 13:12:40 +01:00
Miroslav Crnic
92d25d04da shuckle: rename to registry prepare for replace 2025-09-08 08:59:08 +00:00
Francesco Mazzoli
4096e73818 Kill all references to internal services 2025-09-03 10:35:40 +00:00
Francesco Mazzoli
110705db8d EggsFS -> TernFS rename
Things not done because probably disruptive:

* kmod filesystem string
* sysctl/debugfs/trace
* metrics names
* xmon instance names

Some of these might be renamed too, but starting with a relatively
safe set.
2025-09-03 09:29:53 +01:00
Miroslav Crnic
f3f5b4b0e2 cdc: dont flush on each log entry
We manually control flush of the WAL.
We persist the changes outside the loop by calling flush() with sync.
Since we only send responses after flush we will never send information
about anything that was not persisted.
2025-08-28 08:26:11 +00:00
Francesco Mazzoli
786073adbf Do not move entries when printing out error message 2025-08-13 10:45:22 +00:00
Miroslav Crnic
71570f7cdc cdc: remove alert on rare race with gc 2025-06-05 15:04:29 +00:00
Miroslav Crnic
0377c4642e cdc: stop raising alert on MISMATCHING_CREATION_TIME 2024-11-20 18:27:08 +00:00
Miroslav Crnic
1a47089b3d shard: proxy read/write 2024-11-17 16:38:43 +00:00
Miroslav Crnic
5f24b43184 shuckle: support locations 2024-11-14 09:26:44 +00:00
Miroslav Crnic
48c3aa7d4a logsdb: enable partial leader election 2024-10-11 09:52:18 +01:00
Miroslav Crnic
2b738e01c7 shard/cdc: location output in log 2024-09-12 14:06:38 +00:00
Miroslav Crnic
2dec9ec117 cdc: register location 2024-09-12 14:27:55 +01:00
Miroslav Crnic
c7b6a1cbeb stats: stop producing them 2024-07-09 15:57:01 +01:00
Miroslav Crnic
78baed62a5 cdc: request checkpoints from shard and push through log 2024-06-13 16:24:22 +01:00
Miroslav Crnic
9d06deeedc cdc: error part of shard response 2024-06-13 13:00:43 +01:00
Miroslav Crnic
2cd15fc0be core: various protocol changes 2024-06-13 09:13:11 +01:00
Miroslav Crnic
7aac745457 shard/cdc: fetch all replicas quickly unless in do not replicate mode 2024-06-12 16:08:29 +00:00
Miroslav Crnic
71ee6568c5 cdc: correctly name logsdb stats 2024-06-10 15:49:44 +00:00
Miroslav Crnic
170f2fbc61 logsdb: add stats and expose in shard/cdc 2024-06-10 16:24:49 +01:00
Miroslav Crnic
ffb5989692 cdc: increase amount of message received to account for LogsDB msgs 2024-06-02 11:22:20 +00:00
Miroslav Crnic
bb47c8f38d cdc: remove adaptive msg receive 2024-06-02 07:59:16 +00:00
Miroslav Crnic
98d0376fc9 cdc: dont forget requests until they are handed over to LogsDB 2024-05-24 10:16:54 +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
a377536b40 cdc: correctly rewind assumed logIndex 2024-05-22 15:28:15 +00:00
Miroslav Crnic
4e574374ca shard/cdc: cleanup logsdb options, hostmon name match service name 2024-05-22 10:21:41 +00:00
Miroslav Crnic
25e8264517 cdc: rewind expected LogIdx on append window full 2024-05-22 09:14:16 +00:00
Miroslav Crnic
b524748210 cdc: use DEFAULT_UDP_MTU for serialization of entries 2024-05-21 14:23:27 +00:00
Miroslav Crnic
121340f1b2 cdc: log line fixes and handle interupt 2024-05-21 12:56:26 +00:00
Miroslav Crnic
ab4c25e5e3 cdc: use normal buffer size in cdc sockets 2024-05-21 12:55:47 +00:00
Miroslav Crnic
8be746de5b cdc: differentiate replicas in xmon and in metrics 2024-05-21 09:51:37 +00:00
Miroslav Crnic
5d453179ad cdc: dont alert on missing replicas if replication is off 2024-05-20 13:10:31 +00:00
Miroslav Crnic
0b3348b458 SharedRocksDB: (ref) paths in constructor 2024-05-17 14:23:25 +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
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
40ed10b2c6 Bump quiet period for metrics alerts
VictoraMetrics is often acting up
2024-04-29 11:39:54 +00:00
Miroslav Crnic
409b126e4b cdc: use SharedRocksDB 2024-04-05 23:22:39 +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
7a5fc9f8a9 Allow to disable shuckle stat inserting 2024-03-25 16:08:54 +00:00
Francesco Mazzoli
3a6e498664 Make some Loop methods static 2024-03-20 13:00:18 +00:00
Miroslav Crnic
b240de53b5 shard: distributed log implementation and shard can use it with a flag set 2024-03-12 11:02:04 +00:00
Miroslav Crnic
712ed8973e core: simplify implementing custom stop for Loop 2024-02-23 13:52:34 +00:00
Francesco Mazzoli
beb07dbe6e Silence CDC queue alert 2024-02-21 14:57:00 +00:00
Francesco Mazzoli
303421763a Allow to specify rota per alert in C++ 2024-02-20 12:59:42 +00:00
Francesco Mazzoli
0a6a0c8f24 Process CDC timeouts in a timely manner 2024-01-29 15:08:06 +00:00