diff options
| author | tv <tv@krebsco.de> | 2026-11-08 18:21:55 +0000 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-11-08 19:29:21 +0100 |
| commit | d14290ab6d0ea40b97cdb72f5e07354cc2721c45 (patch) | |
| tree | e52d4b9a988967cd037c4d655a1001c06a4aea7c /docs | |
| parent | ff9e7c244c270853a8a8f58ee950859866358e1d (diff) | |
refusals: a big drop waits for a second member only where there is one
Review 2, N8: a node with one neighbour (a swarm of two, a leaf) never
hears a second member name the change: its big drop was held for good,
an error logged at every REFUSALS. It now waits only where it has
another neighbour than the one telling it; with one, one word is all
there is.
access.md also says what the wait is: it guards against one peer, not
two members saying the same (any node with the swarm key registers),
and never makes a node drop what its own rules take.
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/access.md | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/docs/access.md b/docs/access.md index 4400b91..03b70b8 100644 --- a/docs/access.md +++ b/docs/access.md @@ -302,10 +302,12 @@ everything built on it, its document becoming what it would be without them, and its own writes among them in the quarantine (`GET /admin/quarantine`), to be replayed or discarded, and the others' among the refused (`GET /admin/refused`, "taken unjudged, dropped"); what it writes from then on goes everywhere. A drop taking more -than 100 changes, or more than ten and a tenth of the document, waits until a second member says so too: -its own rules and one peer's word could both be off (logged as an error, counted in -`/admin/stats` as `sync.dropsHeld`). If its rules take the -change, the two policies disagree, which it logs. A change whose +than 100 changes, or more than ten and a tenth of the document, waits until a second +member says so too, where the node has another neighbour to hear it from: its own +rules and one peer's word could both be off (logged as an error, counted in +`/admin/stats` as `sync.dropsHeld`). It guards against one peer, not two members +saying the same; and never makes a node drop what its own rules take. If its rules +take the change, the two policies disagree, which it logs. A change whose dependencies haven't come yet waits for them. What it doesn't do yet: |
