From d14290ab6d0ea40b97cdb72f5e07354cc2721c45 Mon Sep 17 00:00:00 2001 From: tv Date: Sun, 8 Nov 2026 18:21:55 +0000 Subject: 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. --- docs/access.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'docs') 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: -- cgit v1.3.1