Francesco Mazzoli
7a7a43ff14
Streamline block reads, do CRC more on the fly.
...
This is in preparation with a deeper refactor of reading from Go
in general. The big difference that we have now which we did not
have before is that we now have CRCs for every single page.
2025-10-01 14:14:44 +01:00
Miroslav Crnic
86fc9fd03b
SPSC: fix double close with MultiWaiter
2025-09-30 17:06:22 +01:00
Miroslav Crnic
6aac33c62e
SPSC: add support for waiting multiple queues
2025-09-26 17:46:30 +01:00
Miroslav Crnic
abca852efb
bump go version to 1.25 + warnings fix
2025-09-26 11:30:35 +01:00
Miroslav Crnic
6724f05691
Fixes after static analyser
2025-09-23 12:44:20 +01:00
Miroslav Crnic
239b623e56
registry: add unit tests
2025-09-22 15:14:21 +01:00
Francesco Mazzoli
93f1143355
Remove dead code
2025-09-18 21:53:37 +01:00
Francesco Mazzoli
01f9d5addf
Improve FUSE, run all tests with it
...
The FUSE driver, up to now, had no way to know when the user had
"explicitly" closed a file. Instead it linked the TernFS file on
flush, which could cause nasty situation. The classic example
is a fork causing the FD to a TernFS file being present in the forked
process, and then the process dying causing a spurious flush.
This commit adds a way to detect when a flush is due to a close(),
which allows us to link the file only in the cases where that happened,
which is a much better heuristic and close to what we do in the kernel
module.
This commit also contains various other improvements to make all tests
pass under FUSE. The big remaining item is changing how files are read
(they're currently read all upfront and then kept in memory).
2025-09-18 18:09:43 +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
af58e27615
Reference AES back to Intel's ICP library
...
That libray was released under Apache 2.0, whereas the PDF unfortunately
does not provide a license allowing for use of its example code.
2025-09-11 13:12:40 +01:00
Joshua Leahy
4d59472fad
Remove iostream from Common.hpp (iosfwd should do)
2025-09-11 13:12:40 +01:00
Joshua Leahy
752d9c074a
Sink code from XmonAgent.hpp to XmonAgent.cpp
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
Joshua Leahy
65712e178a
Remove encumbered comments from Int64AddOperator
2025-09-04 15:50:27 +00:00
Francesco Mazzoli
2ccdfd1d44
Factor out go files in more meaningful directories
...
Since we're going to add licenses soon
2025-09-04 15:07:35 +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
Francesco Mazzoli
21aa58c4e9
unlikely stuff
2025-08-25 08:43:21 +00:00
Miroslav Crnic
11ec289606
udpsocket: dont crash on nic flap
2025-08-10 13:59:24 +00:00
Miroslav Crnic
a70a1c4d6a
msgs: prepare for adding location to blockservices
2025-06-26 12:55:00 +00:00
Saulius Grusnys
f6d8fec49a
add endpoint to update blockservice path ( #444 )
2025-05-14 17:20:27 +01:00
Miroslav Crnic
8cedd17e6e
msgs: deprecate AllBlockServices to add location
2025-05-14 08:34:21 +00:00
Miroslav Crnic
c53af171e5
make scratch file gc-able on release
...
* shard: support ScrapTransientFile
* scratch: scrap file on release
2025-03-18 12:49:44 +00:00
Miroslav Crnic
25b2cd965e
shard: transient file deadline part of entry
2025-03-18 10:03:08 +00:00
Miroslav Crnic
1e2788f321
shard: always apply entries in proxy location
2025-02-04 09:19:59 +00:00
Miroslav Crnic
3f3ad038e7
shard: log slow proxied requests
2025-01-30 15:54:05 +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
f931e3c0d5
msgs: remove ConverBlockReq/Resp
2024-12-02 08:16:44 +00:00
Miroslav Crnic
5726a2e308
shuckle: assign writable services per location + messages cleanup
2024-11-28 15:42:44 +00:00
Miroslav Crnic
d196121677
shardDB: new SpanBody format ( #402 )
2024-11-28 13:58:05 +00:00
Miroslav Crnic
637543f0a0
shard: enforce no duplicate failure domains
2024-11-25 17:57:57 +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
Nick Chapman
f3d77f9c86
More fixes to sampling output format ( #390 )
2024-11-13 14:51:06 +00:00
Nick Chapman
25d904b2d1
Update EggsTime C++ format to match EggsTime Go format ( #389 )
2024-11-13 09:55:58 +00:00
Miroslav Crnic
a73413ce7e
shard: correct check for block services from shuckle
2024-10-15 10:09:18 +00:00
Miroslav Crnic
a6a6e8df12
logsdb: temporarily disable leader election
2024-10-11 15:19:03 +00:00
Miroslav Crnic
d1936caf6b
logsdb: leader election extra logging
2024-10-11 13:48:08 +00:00
Miroslav Crnic
48c3aa7d4a
logsdb: enable partial leader election
2024-10-11 09:52:18 +01:00
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