Miroslav Crnic
abb1580708
shard/cdc: fix atomic shared_ptr usage
2025-12-02 21:24:24 +00:00
Miroslav Crnic
9164876cb6
shard: x-location wait only on CreateDirectoryInode
...
Waiting on each CDC operation is too expensive.
The only race we have a problem with is during directory creation,
where an observer must not see the directory before it is fully created.
This is a targeted fix until we can implement a more general solution.
2025-12-02 16:10:19 +00:00
Miroslav Crnic
ee23f44d42
shard: update leaders at other location lastSeen
2025-12-01 23:37:06 +00:00
Miroslav Crnic
de0a23090d
shard: fix use after free
2025-11-28 19:07:34 +00:00
Miroslav Crnic
b262674e9c
shard: wait other locations on CDC writes
...
CDC coordinates cross shard transactions.
State machines in it guarantee ordering of events.
In order for order to be guaranteed in all locations,
we need to ensure that all locations have applied the state.
2025-11-26 20:05:36 +00:00
Miroslav Crnic
2d7abe35b4
shard: support wait for state applied req
2025-11-12 09:12:07 +00:00
Miroslav Crnic
f95775e614
shard: metrics as simple counters
2025-10-24 16:57:23 +01:00
Miroslav Crnic
d96abd3083
minor fixes
2025-10-16 17:12:37 +00:00
Miroslav Crnic
924e75674f
shard: support multiple reader threads
2025-10-16 12:39:11 +01:00
Miroslav Crnic
0d4b7ec885
shard: use multiple SPSC queues
...
It allows for better prioritization and removes copies from/to wrapper.
2025-09-26 17:46:30 +01:00
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
a70a1c4d6a
msgs: prepare for adding location to blockservices
2025-06-26 12:55:00 +00:00
Miroslav Crnic
5043e6d09a
remove unusued appNameSuffix option
2025-06-23 12:03:49 +00:00
Miroslav Crnic
ee8306abb3
shard: reduce block service fetch on followers
2025-05-02 08:21:42 +00:00
Miroslav Crnic
7b24bfbac8
shards: increase heartbeat interval
2025-05-02 07:52:00 +00:00
Miroslav Crnic
1e2788f321
shard: always apply entries in proxy location
2025-02-04 09:19:59 +00:00
Miroslav Crnic
9326879c5f
shard: increase proxied requests timeout
2025-02-03 10:31:21 +00:00
Miroslav Crnic
3f3ad038e7
shard: log slow proxied requests
2025-01-30 15:54:05 +00:00
Miroslav Crnic
1075b61885
shard: forward response for applied requests
2025-01-28 16:28:55 +00:00
Miroslav Crnic
96a86364ab
blocks/shard: reduce blockservice space propagation
2024-12-10 12:46:37 +00:00
Miroslav Crnic
452ff75ea0
shard: allow initiating spans at non default locations
2024-12-03 13:08:22 +00:00
Miroslav Crnic
6948f36bc7
shard: support multiple locations in operations
2024-12-02 09:47:48 +00:00
Miroslav Crnic
5726a2e308
shuckle: assign writable services per location + messages cleanup
2024-11-28 15:42:44 +00:00
Miroslav Crnic
c92946cfcb
shard: fix location tag
2024-11-18 16:27:20 +00:00
Miroslav Crnic
5bc4ca2781
shard: add location to stats
2024-11-18 15:48:33 +00:00
Miroslav Crnic
1a47089b3d
shard: proxy read/write
2024-11-17 16:38:43 +00:00
Miroslav Crnic
edd5a37a82
shard: separate read thread
2024-11-06 08:58:44 +00:00
Miroslav Crnic
48c3aa7d4a
logsdb: enable partial leader election
2024-10-11 09:52:18 +01:00
Miroslav Crnic
c5454b9361
shard: log more info when req invalid
2024-09-19 07:17:38 +00:00
Miroslav Crnic
2b738e01c7
shard/cdc: location output in log
2024-09-12 14:06:38 +00:00
Miroslav Crnic
1dc770f15f
shard: format app name to be same as service name
2024-09-12 13:52:31 +00:00
Miroslav Crnic
f8c4096dc9
shard: register location
2024-09-12 14:27:27 +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
c7b6a1cbeb
stats: stop producing them
2024-07-09 15:57:01 +01:00
Miroslav Crnic
99aa882575
gcmigrate: support sharding
2024-06-20 15:30:51 +00: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
7aac745457
shard/cdc: fetch all replicas quickly unless in do not replicate mode
2024-06-12 16:08:29 +00: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
4e574374ca
shard/cdc: cleanup logsdb options, hostmon name match service name
2024-05-22 10:21:41 +00:00