Include old_versions
when merging layouts, don't remove old layout versions #854
No reviewers
Labels
No labels
action
check-aws
action
discussion-needed
action
for-external-contributors
action
for-newcomers
action
more-info-needed
action
need-funding
action
triage-required
kind
correctness
kind
ideas
kind
improvement
kind
performance
kind
testing
kind
usability
kind
wrong-behavior
prio
critical
prio
low
scope
admin-api
scope
background-healing
scope
build
scope
documentation
scope
k8s
scope
layout
scope
metadata
scope
ops
scope
rpc
scope
s3-api
scope
security
scope
telemetry
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Deuxfleurs/garage#854
Loading…
Reference in a new issue
No description provided.
Delete branch "dominik/garage:historical_layout_fix"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
I have run into the same problem as described in #841 After investigating, I've realized only active layout versions are used to update the node's layout. If we are joining a new/fresh node, it wouldn't be able to successfully sync its layout with existing nodes.
This is also why I have removed code for removing old layout versions, as potentially they might be needed in the future when adding new nodes.
Would appreciate is there would be a v1.0.1 release fixing this problem.
Disclaimer: I don't know what I'm doing. I've never written or read any Rust code before. I don't know if this change would have some unintended consequences. I have tested it and seems to work fine.
old_versions
when merging layouts, don't remove old layout versionsHey, thank you very much for your involvement and for making this PR. Unfortunately, I think this is not the correct way to fix this issue, because we do want the old version list to be bounded. If it were not bounded, this would cause unlimited growth of network traffic when Garage clusters become older and start accumulating historical layouts. I am preparing a patch with hopefully a good solution to this issue.
Pull request closed