rmoff
a7d6620e18
Fix typo in error message
2026-01-24 12:21:45 +01:00
Alex Auvolat
6cf6db5c61
fix panic when cluster_layout cannot be saved ( fix #1150 )
2025-09-13 17:49:25 +02:00
Alex
1cb0ae10a8
Merge pull request 'fix crash in layout computation when changing all nodes of a zone to gateway mode' ( #937 ) from baptiste/garage:fix_layout_crash into main
...
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/937
Reviewed-by: Alex <lx@deuxfleurs.fr >
2025-02-19 17:09:10 +00:00
Alex Auvolat
d0104b9f9b
block manager: write blocks only to currently active layout version ( fix #815 )
...
avoid wastefully writing blocks to nodes that will discard them as soon
as the layout migration is finished
2025-02-14 16:45:55 +01:00
Baptiste Jonglez
6d798c640f
WIP: fix crash in layout computation when changing all nodes of a zone to gateway mode
...
This change is probably not a proper fix, somebody with more expertise on
this code should look at it.
Here is how to reproduce the crash:
- start with a layout with two zones
- move all nodes of a zone to gateway mode: `garage layout assign fea54bcc081f318 -g`
- `garage layout show` will panic with a backtrace
Fortunately, the crash is only on the RPC client side, not on the Garage
server itself, and `garage layout revert` still works to go back to the
previous state.
As far as I can tell, this bug is present since Garage 0.9.0 which
includes the new layout assignation algorithm:
https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/296
2025-01-27 19:33:57 +01:00
Stefan Majer
2eb9fcae20
Fix all typos
2025-01-16 13:22:00 +01:00
Alex Auvolat
34453bc9c2
fix logic in garage layout skip-dead-nodes + fix typo ( fix #879 )
2024-09-22 13:47:27 +02:00
Alex Auvolat
7fb66b4944
layout: discard old info when it is completely out-of-date ( fix #841 )
2024-08-24 12:38:56 +02:00
Alex Auvolat
4eba32f29f
[next-0.10] layout helper: rename & clarify updates to update trackers
2024-03-27 13:47:06 +01:00
Alex Auvolat
32f1786f9f
[next-0.10] cache layout check result
2024-03-27 13:37:20 +01:00
Alex Auvolat
01a0bd5410
[next-0.10] remove impl Deref for LayoutHelper
2024-03-27 13:32:13 +01:00
Alex Auvolat
c0eeb0b0f3
[next-0.10] fixes to k2v rpc + comment fixes
2024-03-27 10:44:03 +01:00
Yureka
c1769bbe69
ReplicationMode -> ConsistencyMode+ReplicationFactor
2024-03-07 12:45:33 +01:00
Alex Auvolat
eb4a6ce106
Merge branch 'main' into next-0.10
2024-02-15 14:06:34 +01:00
Alex Auvolat
0041b013a4
layout: refactoring and fix in layout helper
2023-12-11 16:09:22 +01:00
Alex Auvolat
adccce1145
layout: refactor/fix bad while loop
2023-12-11 15:45:14 +01:00
Alex Auvolat
85b5a6bcd1
fix some clippy lints
2023-12-11 15:31:47 +01:00
Alex Auvolat
4dbf254512
layout: refactoring, merge two files
2023-12-08 14:15:52 +01:00
Alex Auvolat
5dd200c015
layout: move block_read_nodes_of to rpc_helper to avoid double-locking
...
(in theory, this could have caused a deadlock)
2023-12-08 12:02:24 +01:00
Alex Auvolat
063294dd56
layout version: refactor get_node_zone
2023-12-08 11:50:58 +01:00
Alex Auvolat
9cecea64d4
layout: allow sync update tracker to progress with only quorums
2023-12-07 14:51:20 +01:00
Alex Auvolat
d90de365b3
table sync: use write quorums to report global success or failure of sync
2023-12-07 11:16:10 +01:00
Alex Auvolat
95eb13eb08
rpc: refactor result tracking for quorum sets
2023-12-07 10:57:21 +01:00
Alex Auvolat
c8356a91d9
layout updates: fix the set of nodes among which minima are calculated
2023-12-07 10:30:26 +01:00
Alex Auvolat
11e6fef93c
cli: add layout history and layout assume-sync commands
2023-11-27 16:22:25 +01:00
Alex Auvolat
d6d239fc79
block manager: read_block using old layout versions if necessary
2023-11-27 11:52:57 +01:00
Alex Auvolat
707442f5de
layout: refactor digests and add "!=" assertions before epidemic bcast
2023-11-16 13:51:40 +01:00
Alex Auvolat
ad5c6f779f
layout: split helper in separate file; more precise difference tracking
2023-11-16 13:26:43 +01:00
Alex Auvolat
d4df03424f
layout: fix test
2023-11-15 15:56:57 +01:00
Alex Auvolat
33c8a489b0
layou: implement ack locking
2023-11-15 15:40:44 +01:00
Alex Auvolat
393c4d4515
layout: add helper for cached/external values to centralize recomputation
2023-11-15 14:20:50 +01:00
Alex Auvolat
65066c7064
layout: wip cache global mins
2023-11-15 13:28:30 +01:00
Alex Auvolat
b3e729f4b8
layout history merge: rm invalid versions when valid versions are added
2023-11-15 12:15:58 +01:00
Alex Auvolat
7ef2c23120
layout: fix test
2023-11-14 15:45:01 +01:00
Alex Auvolat
3b361d2959
layout: prepare for write sets
2023-11-14 14:28:16 +01:00
Alex Auvolat
83a11374ca
layout: fixes in schema
2023-11-14 13:29:26 +01:00
Alex Auvolat
1aab1f4e68
layout: refactoring of all_nodes
2023-11-14 13:12:32 +01:00
Alex Auvolat
8e292e06b3
layout: some refactoring of nongateway nodes
2023-11-14 12:48:38 +01:00
Alex Auvolat
9a491fa137
layout: fix test
2023-11-11 13:10:59 +01:00
Alex Auvolat
df24bb806d
layout/sync: fix bugs and add tracing
2023-11-11 12:44:27 +01:00
Alex Auvolat
ce89d1ddab
table sync: adapt to new layout history
2023-11-11 12:08:32 +01:00
Alex Auvolat
df36cf3099
layout: add helpers to LayoutHistory and prepare integration with Table
2023-11-09 16:32:31 +01:00
Alex Auvolat
9d95f6f704
layout: fix tracker bugs
2023-11-09 15:52:45 +01:00
Alex Auvolat
bad7cc812e
layout admin: add missing calls to update_hash
2023-11-09 15:42:10 +01:00
Alex Auvolat
03ebf18830
layout: begin managing the update tracker values
2023-11-09 15:31:59 +01:00
Alex Auvolat
94caf9c0c1
layout: separate code path for synchronizing update trackers only
2023-11-09 14:53:34 +01:00
Alex Auvolat
bfb1845fdc
layout: refactor to use a RwLock on LayoutHistory
2023-11-09 14:12:05 +01:00
Alex Auvolat
19ef1ec8e7
layout: more refactoring
2023-11-09 13:34:14 +01:00
Alex Auvolat
8a2b1dd422
wip: split out layout management from System into separate LayoutManager
2023-11-09 12:55:36 +01:00
Alex Auvolat
523d2ecb95
layout: use separate CRDT for staged layout changes
2023-11-09 11:19:43 +01:00