Repository navigation
Conversation
The current site's endpoint is recorded once, when site replication is set up, from the address the setup request used. When the server's address changes, every site keeps the old endpoint and replication toward this site stops, but the Console only offered "Managed automatically" for the current site, so operators had to edit it from a peer's Console or the API. Offer Edit Site on the current site's row (resync and remove stay limited to remote peers) and explain in the dialog that this is the address other sites use. After a saved endpoint change, recommend the resync that recovers writes made while the old address was stale: from this site toward a moved peer (with a Start Resync action), or from every peer toward a moved current site.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request
Description
RustFS records the current site's endpoint once, when site replication is set up, from the address the setup request used. When a server's address changes (for example after an IP re-plan), every site keeps the old endpoint and replication toward that site stops, while replication from it keeps working. The Console showed "Managed automatically" on the current site's row, so the address could only be fixed from a peer site's Console or through the API. The server already accepts an edit of the local site through
PUT /site-replication/edit.This PR:
Type of Change
Testing
pnpm type-check pnpm lint pnpm format:check pnpm test:run # 792 passed, 0 failedNew tests in
tests/lib/site-replication-edit.test.jscover the endpoint comparison (case, whitespace, trailing slash), the "no endpoint change" case, the peer and current-site resync advice, and that the overview offers Edit Site on the current site without resync or remove.Manual testing against a local three-site RustFS deployment built from current
main:PUT /site-replication/resync/op?operation=start(200, "Resync request started successfully").Checklist
Related Issues
N/A. Found while helping an operator whose sites changed IP addresses; the matching runbook and server-side fix are in rustfs/rustfs.
Screenshots (if applicable)
Desktop, 1440x900, light theme, sidebar collapsed so the whole peer table fits.
Before: the current site's row offers no action.
After: the current site's row offers Edit Site only.
After: the edit dialog explains what the current site's endpoint is for.
After: resync advice after the current site's endpoint changes.
After: resync advice after a peer's endpoint changes, with a direct Start Resync action.
Additional Notes
reatang/evidence/site-replication-local-editbranch, following the existing evidence-branch convention; it can be deleted after merge.DialoganduseDialogcomponents, so their mobile behavior is unchanged.