22f38808e7
rpc_helper: don't use tokio::spawn for individual requests
2023-11-16 16:34:01 +01:00
393c4d4515
layout: add helper for cached/external values to centralize recomputation
2023-11-15 14:20:50 +01:00
acd49de9f9
rpc: fix write set quorums
2023-11-15 13:07:42 +01:00
90e1619b1e
table: take into account multiple write sets in inserts
2023-11-14 15:40:46 +01:00
bfb1845fdc
layout: refactor to use a RwLock on LayoutHistory
2023-11-09 14:12:05 +01:00
fe9af1dcaa
WIP: garage_rpc: store layout version history
2023-11-08 17:49:06 +01:00
12d1dbfc6b
remove Ring and use ClusterLayout everywhere
2023-11-08 15:41:24 +01:00
638c5a3ce0
PollRange: add extra RPC delay after quorum is achieved,
...
to give a chance to the 3rd node to respond
2023-01-11 16:12:07 +01:00
d56c472712
Refactor background runner and get rid of job worker
2022-12-14 12:51:42 +01:00
ded444f6c9
Ability to have custom timeouts in request strategy (not used)
2022-09-20 16:01:41 +02:00
56592e1853
RPC performance changes
...
- configurable ping timeout
- single, much higher, configurable RPC timeout
- no more concurrency semaphore
2022-09-19 20:31:00 +02:00
1ef87ac4cb
cargo fmt
2022-09-02 13:38:29 +02:00
99b532b85b
Apply PRIO_SECONDARY to block data transfers
2022-09-01 16:35:43 +02:00
df094bd807
Less strict timeouts
2022-09-01 16:30:44 +02:00
bc977f9a7a
Update to Netapp with OrderTag support and exploit OrderTags
2022-09-01 12:58:20 +02:00
322dafc761
Try to fix clippy
2022-08-29 17:32:45 +02:00
e935861854
Factor out node request order selection logic & use in manager
2022-07-29 12:25:03 +02:00
605a630333
Use streaming in block manager
2022-07-29 12:25:02 +02:00
8e7e680afe
First adaptation to WIP netapp with streaming body
2022-07-29 12:25:02 +02:00
ba6b56ae68
Fix some new clippy lints
2022-03-14 12:27:49 +01:00
2377a92f6b
Add wrapper over sled tree to count items (used for big queues)
2022-03-14 10:54:25 +01:00
f869ca625d
Add spans to table calls, change span names in RPC
2022-03-14 10:54:12 +01:00
dc8d0496cc
Refactoring: rename config files, make modifications less invasive
2022-03-14 10:53:51 +01:00
2a5609b292
Add metrics to API endpoint
2022-03-14 10:53:36 +01:00
818daa5c78
Refactor how durations are measured
2022-03-14 10:53:35 +01:00
bb04d94fa9
Update to Netapp 0.4 which supports distributed tracing
2022-03-14 10:52:30 +01:00
8c2fb0c066
Add tracing integration with opentelemetry
2022-03-14 10:52:13 +01:00
2cab84b1fe
Add many metrics in table/ and rpc/
2022-03-14 10:51:50 +01:00
c94406f428
Improve how node roles are assigned in Garage
...
- change the terminology: the network configuration becomes the role
table, the configuration of a nodes becomes a node's role
- the modification of the role table takes place in two steps: first,
changes are staged in a CRDT data structure. Then, once the user is
happy with the changes, they can commit them all at once (or revert
them).
- update documentation
- fix tests
- implement smarter partition assignation algorithm
This patch breaks the format of the network configuration: when
migrating, the cluster will be in a state where no roles are assigned.
All roles must be re-assigned and commited at once. This migration
should not pose an issue.
2021-11-16 16:05:53 +01:00
e8811f7c9d
Request strategy: don't launch all 3 requests if not needed
2021-11-04 16:19:27 +01:00
6f13d083ab
Add semaphore to limit RAM used by buffered outgoing requests
2021-11-03 18:02:57 +01:00
de4276202a
Improve CLI, adapt tests, update documentation
2021-10-25 14:21:48 +02:00
1b450c4b49
Improvements to CLI and various fixes for netapp version
...
Discovery via consul, persist peer list to file
2021-10-22 16:55:24 +02:00
4067797d01
First port of Garage to Netapp
2021-10-22 15:55:18 +02:00