@optimystic/db-p2p 1.0.0-beta.3 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/cluster/block-transfer-service.d.ts +73 -1
- package/dist/src/cluster/block-transfer-service.d.ts.map +1 -1
- package/dist/src/cluster/block-transfer-service.js +70 -3
- package/dist/src/cluster/block-transfer-service.js.map +1 -1
- package/dist/src/cluster/block-transfer.d.ts +16 -1
- package/dist/src/cluster/block-transfer.d.ts.map +1 -1
- package/dist/src/cluster/block-transfer.js +73 -72
- package/dist/src/cluster/block-transfer.js.map +1 -1
- package/dist/src/cluster/client.d.ts +4 -6
- package/dist/src/cluster/client.d.ts.map +1 -1
- package/dist/src/cluster/client.js +8 -13
- package/dist/src/cluster/client.js.map +1 -1
- package/dist/src/cluster/cluster-policy.d.ts +2 -1
- package/dist/src/cluster/cluster-policy.d.ts.map +1 -1
- package/dist/src/cluster/cluster-policy.js.map +1 -1
- package/dist/src/cluster/cluster-repo.d.ts +126 -6
- package/dist/src/cluster/cluster-repo.d.ts.map +1 -1
- package/dist/src/cluster/cluster-repo.js +378 -50
- package/dist/src/cluster/cluster-repo.js.map +1 -1
- package/dist/src/cluster/commit-proof.js +2 -2
- package/dist/src/cluster/race-resolution.d.ts +51 -7
- package/dist/src/cluster/race-resolution.d.ts.map +1 -1
- package/dist/src/cluster/race-resolution.js +71 -7
- package/dist/src/cluster/race-resolution.js.map +1 -1
- package/dist/src/cluster/rebalance-monitor.d.ts +67 -5
- package/dist/src/cluster/rebalance-monitor.d.ts.map +1 -1
- package/dist/src/cluster/rebalance-monitor.js +120 -26
- package/dist/src/cluster/rebalance-monitor.js.map +1 -1
- package/dist/src/cluster/spread-on-churn.d.ts.map +1 -1
- package/dist/src/cluster/spread-on-churn.js +34 -47
- package/dist/src/cluster/spread-on-churn.js.map +1 -1
- package/dist/src/cohort-topic/host.d.ts.map +1 -1
- package/dist/src/cohort-topic/host.js +8 -6
- package/dist/src/cohort-topic/host.js.map +1 -1
- package/dist/src/cohort-topic/membership-source.js +1 -1
- package/dist/src/cohort-topic/membership-source.js.map +1 -1
- package/dist/src/cohort-topic/peer-codec.d.ts.map +1 -1
- package/dist/src/cohort-topic/peer-codec.js +5 -2
- package/dist/src/cohort-topic/peer-codec.js.map +1 -1
- package/dist/src/cohort-topic/stream-util.d.ts +24 -3
- package/dist/src/cohort-topic/stream-util.d.ts.map +1 -1
- package/dist/src/cohort-topic/stream-util.js +36 -3
- package/dist/src/cohort-topic/stream-util.js.map +1 -1
- package/dist/src/cohort-topic/topic-router.d.ts +9 -0
- package/dist/src/cohort-topic/topic-router.d.ts.map +1 -1
- package/dist/src/cohort-topic/topic-router.js +12 -2
- package/dist/src/cohort-topic/topic-router.js.map +1 -1
- package/dist/src/dispute/client.d.ts.map +1 -1
- package/dist/src/dispute/client.js +15 -3
- package/dist/src/dispute/client.js.map +1 -1
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +5 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/libp2p-key-network.d.ts +78 -17
- package/dist/src/libp2p-key-network.d.ts.map +1 -1
- package/dist/src/libp2p-key-network.js +234 -147
- package/dist/src/libp2p-key-network.js.map +1 -1
- package/dist/src/libp2p-node-base.d.ts +35 -1
- package/dist/src/libp2p-node-base.d.ts.map +1 -1
- package/dist/src/libp2p-node-base.js +151 -26
- package/dist/src/libp2p-node-base.js.map +1 -1
- package/dist/src/libp2p-node-rn.d.ts +2 -2
- package/dist/src/libp2p-node-rn.d.ts.map +1 -1
- package/dist/src/libp2p-node-rn.js.map +1 -1
- package/dist/src/libp2p-node.d.ts +2 -2
- package/dist/src/libp2p-node.d.ts.map +1 -1
- package/dist/src/libp2p-node.js.map +1 -1
- package/dist/src/logger.d.ts.map +1 -1
- package/dist/src/logger.js +6 -1
- package/dist/src/logger.js.map +1 -1
- package/dist/src/matchmaking/query-transport.d.ts +3 -4
- package/dist/src/matchmaking/query-transport.d.ts.map +1 -1
- package/dist/src/matchmaking/query-transport.js +9 -9
- package/dist/src/matchmaking/query-transport.js.map +1 -1
- package/dist/src/network/network-manager-service.d.ts +10 -5
- package/dist/src/network/network-manager-service.d.ts.map +1 -1
- package/dist/src/network/network-manager-service.js +11 -2
- package/dist/src/network/network-manager-service.js.map +1 -1
- package/dist/src/network/relay-reservation.d.ts +170 -0
- package/dist/src/network/relay-reservation.d.ts.map +1 -0
- package/dist/src/network/relay-reservation.js +527 -0
- package/dist/src/network/relay-reservation.js.map +1 -0
- package/dist/src/pend-validation.d.ts +3 -2
- package/dist/src/pend-validation.d.ts.map +1 -1
- package/dist/src/pend-validation.js +3 -2
- package/dist/src/pend-validation.js.map +1 -1
- package/dist/src/protocol-client.d.ts +8 -1
- package/dist/src/protocol-client.d.ts.map +1 -1
- package/dist/src/protocol-client.js +11 -0
- package/dist/src/protocol-client.js.map +1 -1
- package/dist/src/reactivity/forwarder-host.d.ts +2 -1
- package/dist/src/reactivity/forwarder-host.d.ts.map +1 -1
- package/dist/src/reactivity/forwarder-host.js +2 -1
- package/dist/src/reactivity/forwarder-host.js.map +1 -1
- package/dist/src/reactivity/origination-manager.d.ts +3 -3
- package/dist/src/reactivity/origination-manager.js +3 -3
- package/dist/src/reactivity/recover-transport.d.ts +22 -14
- package/dist/src/reactivity/recover-transport.d.ts.map +1 -1
- package/dist/src/reactivity/recover-transport.js +32 -19
- package/dist/src/reactivity/recover-transport.js.map +1 -1
- package/dist/src/reactivity/subscription-manager.d.ts +2 -2
- package/dist/src/reactivity/topic-bytes.d.ts +6 -7
- package/dist/src/reactivity/topic-bytes.d.ts.map +1 -1
- package/dist/src/reactivity/topic-bytes.js +8 -9
- package/dist/src/reactivity/topic-bytes.js.map +1 -1
- package/dist/src/repo/client.d.ts +5 -2
- package/dist/src/repo/client.d.ts.map +1 -1
- package/dist/src/repo/client.js +49 -40
- package/dist/src/repo/client.js.map +1 -1
- package/dist/src/repo/cluster-coordinator.d.ts +77 -5
- package/dist/src/repo/cluster-coordinator.d.ts.map +1 -1
- package/dist/src/repo/cluster-coordinator.js +131 -20
- package/dist/src/repo/cluster-coordinator.js.map +1 -1
- package/dist/src/repo/coordinator-repo.d.ts +238 -122
- package/dist/src/repo/coordinator-repo.d.ts.map +1 -1
- package/dist/src/repo/coordinator-repo.js +625 -472
- package/dist/src/repo/coordinator-repo.js.map +1 -1
- package/dist/src/repo/i-under-replication-ledger.d.ts +87 -0
- package/dist/src/repo/i-under-replication-ledger.d.ts.map +1 -0
- package/dist/src/repo/i-under-replication-ledger.js +2 -0
- package/dist/src/repo/i-under-replication-ledger.js.map +1 -0
- package/dist/src/repo/kv-under-replication-ledger.d.ts +91 -0
- package/dist/src/repo/kv-under-replication-ledger.d.ts.map +1 -0
- package/dist/src/repo/kv-under-replication-ledger.js +287 -0
- package/dist/src/repo/kv-under-replication-ledger.js.map +1 -0
- package/dist/src/repo/responsibility.d.ts +37 -0
- package/dist/src/repo/responsibility.d.ts.map +1 -0
- package/dist/src/repo/responsibility.js +37 -0
- package/dist/src/repo/responsibility.js.map +1 -0
- package/dist/src/repo/service.d.ts +44 -15
- package/dist/src/repo/service.d.ts.map +1 -1
- package/dist/src/repo/service.js +64 -27
- package/dist/src/repo/service.js.map +1 -1
- package/dist/src/repo/stuck-reservation.d.ts +127 -0
- package/dist/src/repo/stuck-reservation.d.ts.map +1 -0
- package/dist/src/repo/stuck-reservation.js +179 -0
- package/dist/src/repo/stuck-reservation.js.map +1 -0
- package/dist/src/repo/under-replication-drain.d.ts +208 -0
- package/dist/src/repo/under-replication-drain.d.ts.map +1 -0
- package/dist/src/repo/under-replication-drain.js +461 -0
- package/dist/src/repo/under-replication-drain.js.map +1 -0
- package/dist/src/rn.d.ts +5 -0
- package/dist/src/rn.d.ts.map +1 -1
- package/dist/src/rn.js +5 -0
- package/dist/src/rn.js.map +1 -1
- package/dist/src/storage/block-latch.d.ts +3 -2
- package/dist/src/storage/block-latch.d.ts.map +1 -1
- package/dist/src/storage/block-latch.js +7 -4
- package/dist/src/storage/block-latch.js.map +1 -1
- package/dist/src/storage/block-storage.d.ts +45 -3
- package/dist/src/storage/block-storage.d.ts.map +1 -1
- package/dist/src/storage/block-storage.js +156 -9
- package/dist/src/storage/block-storage.js.map +1 -1
- package/dist/src/storage/i-block-storage.d.ts +57 -5
- package/dist/src/storage/i-block-storage.d.ts.map +1 -1
- package/dist/src/storage/i-block-storage.js.map +1 -1
- package/dist/src/storage/pending-claim.d.ts +167 -0
- package/dist/src/storage/pending-claim.d.ts.map +1 -0
- package/dist/src/storage/pending-claim.js +156 -0
- package/dist/src/storage/pending-claim.js.map +1 -0
- package/dist/src/storage/raw-store-codec.d.ts +13 -0
- package/dist/src/storage/raw-store-codec.d.ts.map +1 -1
- package/dist/src/storage/raw-store-codec.js +24 -3
- package/dist/src/storage/raw-store-codec.js.map +1 -1
- package/dist/src/storage/restoration-coordinator.d.ts.map +1 -1
- package/dist/src/storage/restoration-coordinator.js +2 -1
- package/dist/src/storage/restoration-coordinator.js.map +1 -1
- package/dist/src/storage/ring-shift-coordinator.d.ts.map +1 -1
- package/dist/src/storage/ring-shift-coordinator.js +3 -3
- package/dist/src/storage/ring-shift-coordinator.js.map +1 -1
- package/dist/src/storage/storage-repo.d.ts +122 -5
- package/dist/src/storage/storage-repo.d.ts.map +1 -1
- package/dist/src/storage/storage-repo.js +245 -68
- package/dist/src/storage/storage-repo.js.map +1 -1
- package/dist/src/storage/struct.d.ts +58 -0
- package/dist/src/storage/struct.d.ts.map +1 -1
- package/dist/src/testing/mesh-harness.d.ts +77 -11
- package/dist/src/testing/mesh-harness.d.ts.map +1 -1
- package/dist/src/testing/mesh-harness.js +226 -100
- package/dist/src/testing/mesh-harness.js.map +1 -1
- package/package.json +2 -2
- package/readme.md +27 -3
- package/src/cluster/block-transfer-service.ts +132 -4
- package/src/cluster/block-transfer.ts +79 -84
- package/src/cluster/client.ts +115 -119
- package/src/cluster/cluster-policy.ts +2 -1
- package/src/cluster/cluster-repo.ts +422 -56
- package/src/cluster/commit-proof.ts +2 -2
- package/src/cluster/race-resolution.ts +76 -7
- package/src/cluster/rebalance-monitor.ts +677 -539
- package/src/cluster/spread-on-churn.ts +34 -54
- package/src/cohort-topic/host.ts +8 -6
- package/src/cohort-topic/membership-source.ts +1 -1
- package/src/cohort-topic/peer-codec.ts +34 -31
- package/src/cohort-topic/stream-util.ts +39 -4
- package/src/cohort-topic/topic-router.ts +12 -2
- package/src/dispute/client.ts +17 -7
- package/src/index.ts +64 -59
- package/src/libp2p-key-network.ts +1377 -1260
- package/src/libp2p-node-base.ts +186 -27
- package/src/libp2p-node-rn.ts +31 -30
- package/src/libp2p-node.ts +37 -36
- package/src/logger.ts +6 -1
- package/src/matchmaking/query-transport.ts +9 -9
- package/src/network/network-manager-service.ts +16 -5
- package/src/network/relay-reservation.ts +636 -0
- package/src/pend-validation.ts +3 -2
- package/src/protocol-client.ts +13 -1
- package/src/reactivity/forwarder-host.ts +2 -1
- package/src/reactivity/origination-manager.ts +3 -3
- package/src/reactivity/recover-transport.ts +39 -22
- package/src/reactivity/subscription-manager.ts +2 -2
- package/src/reactivity/topic-bytes.ts +35 -37
- package/src/repo/client.ts +172 -173
- package/src/repo/cluster-coordinator.ts +145 -19
- package/src/repo/coordinator-repo.ts +652 -505
- package/src/repo/i-under-replication-ledger.ts +89 -0
- package/src/repo/kv-under-replication-ledger.ts +302 -0
- package/src/repo/responsibility.ts +48 -0
- package/src/repo/service.ts +76 -39
- package/src/repo/stuck-reservation.ts +224 -0
- package/src/repo/under-replication-drain.ts +582 -0
- package/src/rn.ts +74 -69
- package/src/storage/block-latch.ts +7 -4
- package/src/storage/block-storage.ts +161 -10
- package/src/storage/i-block-storage.ts +60 -5
- package/src/storage/pending-claim.ts +200 -0
- package/src/storage/raw-store-codec.ts +26 -3
- package/src/storage/restoration-coordinator.ts +212 -211
- package/src/storage/ring-shift-coordinator.ts +271 -271
- package/src/storage/storage-repo.ts +280 -72
- package/src/storage/struct.ts +58 -0
- package/src/testing/mesh-harness.ts +293 -112
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Startable } from '@libp2p/interface';
|
|
2
|
-
import type { IRepo, PeerId, IPeerNetwork, ActionId, ActionRev, GetBlockResult, IBlock, BlockId } from '@optimystic/db-core';
|
|
2
|
+
import type { IRepo, PeerId, IPeerNetwork, ActionId, ActionRev, GetBlockResult, IBlock, BlockId, BlockUnavailableReason, CollectionId } from '@optimystic/db-core';
|
|
3
3
|
import { ProtocolClient } from '../protocol-client.js';
|
|
4
4
|
import { type InboundStreamAuthorizationInit } from '../inbound-authorization.js';
|
|
5
5
|
import type { BlockCommitProof } from './commit-proof.js';
|
|
@@ -247,4 +247,76 @@ export declare class BlockTransferClient extends ProtocolClient {
|
|
|
247
247
|
responseTimeoutMs?: number;
|
|
248
248
|
}): Promise<BlockTransferResponse>;
|
|
249
249
|
}
|
|
250
|
+
/** Why one peer did not confirm a pushed block. */
|
|
251
|
+
export type PushRefusal = {
|
|
252
|
+
peerId: string;
|
|
253
|
+
/**
|
|
254
|
+
* `rejected`: the peer ANSWERED and listed the block as missing — it did not persist it
|
|
255
|
+
* (uncertified under its `requirePushCertificate`, unparseable, or a persist fault; the receiver
|
|
256
|
+
* logs which). `unreachable`: the push threw — a dial failure, a deadline, a stream error.
|
|
257
|
+
*/
|
|
258
|
+
reason: 'rejected' | 'unreachable';
|
|
259
|
+
/** The thrown error's message, for `unreachable`. */
|
|
260
|
+
error?: string;
|
|
261
|
+
};
|
|
262
|
+
/**
|
|
263
|
+
* What {@link pushBlockToPeers} found and did. `no-local-data` and `unavailable` mean nothing was
|
|
264
|
+
* pushed: the first is "this node holds no revision of the block", the second is "this node could
|
|
265
|
+
* not find out" (a failed restore, an unmaterializable history) — a caller that prunes on the first
|
|
266
|
+
* must NOT prune on the second, or it drops a block it may well hold.
|
|
267
|
+
*/
|
|
268
|
+
export type PushBlockOutcome = {
|
|
269
|
+
status: 'no-local-data';
|
|
270
|
+
} | {
|
|
271
|
+
status: 'unavailable';
|
|
272
|
+
reason: BlockUnavailableReason;
|
|
273
|
+
} | {
|
|
274
|
+
status: 'pushed';
|
|
275
|
+
/** The revision pushed — the source's `state.latest`. Absent for a repo that reports none. */
|
|
276
|
+
latest?: ActionRev;
|
|
277
|
+
/** From the pushed block's header, when it names a collection. */
|
|
278
|
+
collectionId?: CollectionId;
|
|
279
|
+
/** Whether a cohort commit proof travelled with the block. Without one a receiver running
|
|
280
|
+
* the default `requirePushCertificate` rejects it, so a `false` here with every peer
|
|
281
|
+
* `rejected` is "cannot place", not "cannot reach". */
|
|
282
|
+
certified: boolean;
|
|
283
|
+
/** Peers that hold the block now: each answered without listing it as missing. */
|
|
284
|
+
confirmed: string[];
|
|
285
|
+
refusals: PushRefusal[];
|
|
286
|
+
/** Peers not pushed to because {@link PushBlockOptions.stopAfterConfirmed} was reached first. */
|
|
287
|
+
skipped: string[];
|
|
288
|
+
};
|
|
289
|
+
export interface PushBlockOptions {
|
|
290
|
+
/** Default `'replication'`. */
|
|
291
|
+
reason?: BlockTransferRequest['reason'];
|
|
292
|
+
/** The `/optimystic/<networkName>` prefix the receivers register their handler under. */
|
|
293
|
+
protocolPrefix?: string;
|
|
294
|
+
/** Stop once this many distinct peers have confirmed; the rest are reported `skipped`. Default:
|
|
295
|
+
* every peer is pushed to. */
|
|
296
|
+
stopAfterConfirmed?: number;
|
|
297
|
+
/** Per-peer deadlines forwarded to {@link BlockTransferClient.pushBlocks}; omitted = uncapped. */
|
|
298
|
+
dialTimeoutMs?: number;
|
|
299
|
+
responseTimeoutMs?: number;
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Push ONE locally held block to `peerIds`, in order: read it unpinned from `repo`, build its
|
|
303
|
+
* {@link PushCertification} from that same read, push it to each peer, and read each answer the one
|
|
304
|
+
* way that is true — a peer holds the block only when its response does NOT list the block as
|
|
305
|
+
* missing, because `handlePush` omits a block from `missing` only after persisting it (or already
|
|
306
|
+
* holding that revision). A round trip that returns is not a landed replica; a round trip that
|
|
307
|
+
* throws is not a refusal.
|
|
308
|
+
*
|
|
309
|
+
* This is the whole read-certify-push-interpret sequence every sender runs — the rebalance
|
|
310
|
+
* handoff and confirm (`BlockTransferCoordinator`), spread-on-churn, and the under-replication
|
|
311
|
+
* drain — so a change to how a block is placed is made here once. Retry, stopping condition and
|
|
312
|
+
* deadlines are the caller's: `stopAfterConfirmed` for "until one owner accepts" or "until the
|
|
313
|
+
* floor", the two deadlines for a sequential loop that must not hang on a silent peer, and the
|
|
314
|
+
* caller wraps the call in its own retry. It logs nothing per peer; the outcome carries what each
|
|
315
|
+
* caller's own diagnostics say.
|
|
316
|
+
*
|
|
317
|
+
* `repo` is the node's OWN store, so the read never consults the cluster and the certification
|
|
318
|
+
* comes from the proof this node retained; a repo without a proof accessor pushes meta-only
|
|
319
|
+
* (`certified: false`), which a default-configured receiver refuses.
|
|
320
|
+
*/
|
|
321
|
+
export declare function pushBlockToPeers(repo: ArchiveServingRepo, peerNetwork: IPeerNetwork, blockId: BlockId, peerIds: readonly string[], options?: PushBlockOptions): Promise<PushBlockOutcome>;
|
|
250
322
|
//# sourceMappingURL=block-transfer-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block-transfer-service.d.ts","sourceRoot":"","sources":["../../../src/cluster/block-transfer-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,SAAS,EAAU,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"block-transfer-service.d.ts","sourceRoot":"","sources":["../../../src/cluster/block-transfer-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { peerIdFromString } from '@libp2p/peer-id';
|
|
1
2
|
import { pipe } from 'it-pipe';
|
|
2
3
|
import * as lp from 'it-length-prefixed';
|
|
3
4
|
import { fromString as u8FromString } from 'uint8arrays/from-string';
|
|
@@ -189,7 +190,7 @@ export class BlockTransferService {
|
|
|
189
190
|
for (const blockId of request.blockIds) {
|
|
190
191
|
const blockResult = result[blockId];
|
|
191
192
|
if (blockResult?.block) {
|
|
192
|
-
blocks[blockId] =
|
|
193
|
+
blocks[blockId] = u8ToString(u8FromString(JSON.stringify(blockResult.block), 'utf8'), 'base64pad');
|
|
193
194
|
}
|
|
194
195
|
else {
|
|
195
196
|
missing.push(blockId);
|
|
@@ -228,7 +229,7 @@ export class BlockTransferService {
|
|
|
228
229
|
// Decode + parse the wire payload into an IBlock.
|
|
229
230
|
let block;
|
|
230
231
|
try {
|
|
231
|
-
block = JSON.parse(
|
|
232
|
+
block = JSON.parse(u8ToString(u8FromString(data, 'base64pad'), 'utf8'));
|
|
232
233
|
}
|
|
233
234
|
catch {
|
|
234
235
|
missing.push(blockId);
|
|
@@ -348,7 +349,7 @@ export class BlockTransferClient extends ProtocolClient {
|
|
|
348
349
|
async pushBlocks(blockIds, blockDataBuffers, reason = 'rebalance', certification, options) {
|
|
349
350
|
const blockData = {};
|
|
350
351
|
for (let i = 0; i < blockIds.length; i++) {
|
|
351
|
-
blockData[blockIds[i]] =
|
|
352
|
+
blockData[blockIds[i]] = u8ToString(blockDataBuffers[i], 'base64pad');
|
|
352
353
|
}
|
|
353
354
|
const request = {
|
|
354
355
|
type: 'push', blockIds, reason, blockData,
|
|
@@ -358,4 +359,70 @@ export class BlockTransferClient extends ProtocolClient {
|
|
|
358
359
|
return await this.processMessage(request, this.protocol, { ...options, maxDataLength: MAX_BLOCK_MESSAGE_BYTES });
|
|
359
360
|
}
|
|
360
361
|
}
|
|
362
|
+
const textEncoder = new TextEncoder();
|
|
363
|
+
/**
|
|
364
|
+
* Push ONE locally held block to `peerIds`, in order: read it unpinned from `repo`, build its
|
|
365
|
+
* {@link PushCertification} from that same read, push it to each peer, and read each answer the one
|
|
366
|
+
* way that is true — a peer holds the block only when its response does NOT list the block as
|
|
367
|
+
* missing, because `handlePush` omits a block from `missing` only after persisting it (or already
|
|
368
|
+
* holding that revision). A round trip that returns is not a landed replica; a round trip that
|
|
369
|
+
* throws is not a refusal.
|
|
370
|
+
*
|
|
371
|
+
* This is the whole read-certify-push-interpret sequence every sender runs — the rebalance
|
|
372
|
+
* handoff and confirm (`BlockTransferCoordinator`), spread-on-churn, and the under-replication
|
|
373
|
+
* drain — so a change to how a block is placed is made here once. Retry, stopping condition and
|
|
374
|
+
* deadlines are the caller's: `stopAfterConfirmed` for "until one owner accepts" or "until the
|
|
375
|
+
* floor", the two deadlines for a sequential loop that must not hang on a silent peer, and the
|
|
376
|
+
* caller wraps the call in its own retry. It logs nothing per peer; the outcome carries what each
|
|
377
|
+
* caller's own diagnostics say.
|
|
378
|
+
*
|
|
379
|
+
* `repo` is the node's OWN store, so the read never consults the cluster and the certification
|
|
380
|
+
* comes from the proof this node retained; a repo without a proof accessor pushes meta-only
|
|
381
|
+
* (`certified: false`), which a default-configured receiver refuses.
|
|
382
|
+
*/
|
|
383
|
+
export async function pushBlockToPeers(repo, peerNetwork, blockId, peerIds, options = {}) {
|
|
384
|
+
const result = (await repo.get({ blockIds: [blockId] }))[blockId];
|
|
385
|
+
if (result?.unavailable !== undefined) {
|
|
386
|
+
return { status: 'unavailable', reason: result.unavailable };
|
|
387
|
+
}
|
|
388
|
+
if (!result?.block) {
|
|
389
|
+
return { status: 'no-local-data' };
|
|
390
|
+
}
|
|
391
|
+
const blockData = textEncoder.encode(JSON.stringify(result.block));
|
|
392
|
+
const certification = await sourceBlockCertification(repo, blockId, result);
|
|
393
|
+
const reason = options.reason ?? 'replication';
|
|
394
|
+
const deadlines = { dialTimeoutMs: options.dialTimeoutMs, responseTimeoutMs: options.responseTimeoutMs };
|
|
395
|
+
const stopAfter = options.stopAfterConfirmed ?? Number.POSITIVE_INFINITY;
|
|
396
|
+
const confirmed = [];
|
|
397
|
+
const refusals = [];
|
|
398
|
+
const skipped = [];
|
|
399
|
+
for (const peerIdStr of peerIds) {
|
|
400
|
+
if (confirmed.length >= stopAfter) {
|
|
401
|
+
skipped.push(peerIdStr);
|
|
402
|
+
continue;
|
|
403
|
+
}
|
|
404
|
+
try {
|
|
405
|
+
const client = new BlockTransferClient(peerIdFromString(peerIdStr), peerNetwork, options.protocolPrefix);
|
|
406
|
+
const response = await client.pushBlocks([blockId], [blockData], reason, certification, deadlines);
|
|
407
|
+
if (response.missing.includes(blockId)) {
|
|
408
|
+
refusals.push({ peerId: peerIdStr, reason: 'rejected' });
|
|
409
|
+
}
|
|
410
|
+
else {
|
|
411
|
+
confirmed.push(peerIdStr);
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
catch (err) {
|
|
415
|
+
refusals.push({ peerId: peerIdStr, reason: 'unreachable', error: err instanceof Error ? err.message : String(err) });
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
return {
|
|
419
|
+
status: 'pushed',
|
|
420
|
+
latest: result.state?.latest,
|
|
421
|
+
collectionId: result.block.header?.collectionId,
|
|
422
|
+
certified: certification.blockProofs !== undefined,
|
|
423
|
+
confirmed,
|
|
424
|
+
refusals,
|
|
425
|
+
skipped
|
|
426
|
+
};
|
|
427
|
+
}
|
|
361
428
|
//# sourceMappingURL=block-transfer-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block-transfer-service.js","sourceRoot":"","sources":["../../../src/cluster/block-transfer-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"block-transfer-service.js","sourceRoot":"","sources":["../../../src/cluster/block-transfer-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,12 @@ import type { GrowthOutcome, RebalanceEvent } from './rebalance-monitor.js';
|
|
|
6
6
|
export interface BlockTransferConfig {
|
|
7
7
|
/** Max concurrent transfers. Default: 4 */
|
|
8
8
|
maxConcurrency?: number;
|
|
9
|
-
/**
|
|
9
|
+
/**
|
|
10
|
+
* Timeout per block transfer (ms). Default: 30000. A pull is bounded as a whole. A push or
|
|
11
|
+
* confirm is bounded PER PEER, as two deadlines of this length: one on the dial and one on the
|
|
12
|
+
* reply (the `BlockTransferClient.pushBlocks` deadlines, which abort the dial and tear down a
|
|
13
|
+
* silent stream rather than leaving them running).
|
|
14
|
+
*/
|
|
10
15
|
transferTimeoutMs?: number;
|
|
11
16
|
/** Retry attempts for failed transfers. Default: 2 */
|
|
12
17
|
maxRetries?: number;
|
|
@@ -165,10 +170,20 @@ export declare class BlockTransferCoordinator {
|
|
|
165
170
|
* `confirmed`; the growth arm consumes the other two.
|
|
166
171
|
*/
|
|
167
172
|
private executeConfirm;
|
|
173
|
+
/**
|
|
174
|
+
* This coordinator's binding of the shared push loop: rebalance reason, this node's protocol
|
|
175
|
+
* prefix, and `transferTimeoutMs` as BOTH per-peer deadlines (see {@link BlockTransferConfig}).
|
|
176
|
+
*/
|
|
177
|
+
private pushBlock;
|
|
168
178
|
private acquireSemaphore;
|
|
169
179
|
private releaseSemaphore;
|
|
170
180
|
private backoffMs;
|
|
171
181
|
private delay;
|
|
182
|
+
/**
|
|
183
|
+
* Resolve `undefined` if `promise` has not settled within `ms`. The timer is cleared on either
|
|
184
|
+
* outcome: left running, it outlived every pull, push and confirm by the full transfer timeout and
|
|
185
|
+
* held a stopped node's process open that long (see `withDeadline` in `repo/coordinator-repo.ts`).
|
|
186
|
+
*/
|
|
172
187
|
private withTimeout;
|
|
173
188
|
}
|
|
174
189
|
//# sourceMappingURL=block-transfer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block-transfer.d.ts","sourceRoot":"","sources":["../../../src/cluster/block-transfer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"block-transfer.d.ts","sourceRoot":"","sources":["../../../src/cluster/block-transfer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { BlockTransferClient, sourceBlockCertification } from './block-transfer-service.js';
|
|
1
|
+
import { pushBlockToPeers } from './block-transfer-service.js';
|
|
3
2
|
import { createLogger } from '../logger.js';
|
|
4
3
|
const log = createLogger('block-transfer');
|
|
4
|
+
/** One line per peer that did not confirm, under the calling path's tag (`push` / `confirm`). */
|
|
5
|
+
function logRefusals(path, blockId, refusals) {
|
|
6
|
+
for (const refusal of refusals) {
|
|
7
|
+
if (refusal.reason === 'unreachable') {
|
|
8
|
+
log('%s:peer-error block=%s peer=%s err=%s', path, blockId, refusal.peerId, refusal.error);
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
log('%s:peer-rejected block=%s peer=%s (receiver did not persist)', path, blockId, refusal.peerId);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
5
15
|
/**
|
|
6
16
|
* Coordinates block transfers in response to rebalance events.
|
|
7
17
|
*
|
|
@@ -254,45 +264,29 @@ export class BlockTransferCoordinator {
|
|
|
254
264
|
return;
|
|
255
265
|
this.inFlight.add(key);
|
|
256
266
|
try {
|
|
267
|
+
const owners = newOwners.get(blockId);
|
|
268
|
+
if (!owners || owners.length === 0) {
|
|
269
|
+
failed.push(blockId);
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
257
272
|
for (let attempt = 0;; attempt++) {
|
|
258
273
|
await this.acquireSemaphore();
|
|
259
274
|
let pushed = false;
|
|
260
275
|
try {
|
|
261
|
-
|
|
262
|
-
|
|
276
|
+
// The shared read-certify-push loop, stopping at the FIRST new owner that accepts. A
|
|
277
|
+
// receiver running the default `requirePushCertificate` rejects a push with no proof,
|
|
278
|
+
// so a block whose proof this node never retained (pre-proof history, a diverged
|
|
279
|
+
// commit) simply fails to place here and is retried/kept as today.
|
|
280
|
+
const outcome = await this.pushBlock(blockId, owners, 1);
|
|
281
|
+
if (outcome.status !== 'pushed') {
|
|
282
|
+
log('push:no-local-data block=%s status=%s', blockId, outcome.status);
|
|
263
283
|
failed.push(blockId);
|
|
264
284
|
return;
|
|
265
285
|
}
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
log('push:no-local-data block=%s', blockId);
|
|
271
|
-
failed.push(blockId);
|
|
272
|
-
return;
|
|
273
|
-
}
|
|
274
|
-
const blockData = new TextEncoder().encode(JSON.stringify(blockResult.block));
|
|
275
|
-
// Revision metadata AND the cohort proof for that revision, from this one unpinned
|
|
276
|
-
// read. A receiver running the default `requirePushCertificate` rejects a push with
|
|
277
|
-
// no proof, so a block whose proof this node never retained (pre-proof history, a
|
|
278
|
-
// diverged commit) simply fails to place here and is retried/kept as today.
|
|
279
|
-
const certification = await sourceBlockCertification(this.repo, blockId, blockResult);
|
|
280
|
-
// Push to at least one new owner
|
|
281
|
-
for (const ownerPeerIdStr of owners) {
|
|
282
|
-
try {
|
|
283
|
-
const peerId = peerIdFromString(ownerPeerIdStr);
|
|
284
|
-
const client = new BlockTransferClient(peerId, this.peerNetwork, this.protocolPrefix);
|
|
285
|
-
const response = await this.withTimeout(client.pushBlocks([blockId], [blockData], 'rebalance', certification), this.transferTimeoutMs);
|
|
286
|
-
if (response && !response.missing.includes(blockId)) {
|
|
287
|
-
pushed = true;
|
|
288
|
-
log('push:ok block=%s peer=%s', blockId, ownerPeerIdStr);
|
|
289
|
-
break;
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
catch (err) {
|
|
293
|
-
log('push:peer-error block=%s peer=%s err=%s', blockId, ownerPeerIdStr, err.message);
|
|
294
|
-
}
|
|
295
|
-
}
|
|
286
|
+
logRefusals('push', blockId, outcome.refusals);
|
|
287
|
+
pushed = outcome.confirmed.length > 0;
|
|
288
|
+
if (pushed)
|
|
289
|
+
log('push:ok block=%s peer=%s', blockId, outcome.confirmed[0]);
|
|
296
290
|
}
|
|
297
291
|
finally {
|
|
298
292
|
this.releaseSemaphore();
|
|
@@ -344,43 +338,28 @@ export class BlockTransferCoordinator {
|
|
|
344
338
|
await this.acquireSemaphore();
|
|
345
339
|
let confirmCount = 0;
|
|
346
340
|
try {
|
|
347
|
-
//
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
341
|
+
// The shared read-certify-push loop, once per attempt, stopping once `floor` DISTINCT
|
|
342
|
+
// owners hold a current replica. A confirming holder either takes a certified replica
|
|
343
|
+
// or reports the block missing (see executePush).
|
|
344
|
+
const outcome = await this.pushBlock(blockId, candidateOwners, floor);
|
|
345
|
+
if (outcome.status !== 'pushed') {
|
|
346
|
+
// No local bytes to prove replication with — cannot confirm; keep serving. An
|
|
347
|
+
// `unavailable` read (this node could not find out what it holds) is folded in
|
|
348
|
+
// here as it always was: neither outcome can confirm anything.
|
|
349
|
+
log('confirm:no-local-data block=%s status=%s', blockId, outcome.status);
|
|
353
350
|
return { confirmed: false, confirmedPeers: allConfirmedPeers, noLocalData: true };
|
|
354
351
|
}
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
try {
|
|
365
|
-
const peerId = peerIdFromString(ownerPeerIdStr);
|
|
366
|
-
const client = new BlockTransferClient(peerId, this.peerNetwork, this.protocolPrefix);
|
|
367
|
-
const response = await this.withTimeout(client.pushBlocks([blockId], [blockData], 'rebalance', certification), this.transferTimeoutMs);
|
|
368
|
-
if (response && !response.missing.includes(blockId)) {
|
|
369
|
-
confirmedPeers.add(ownerPeerIdStr);
|
|
370
|
-
// NOTE: allConfirmedPeers never un-records a peer. A holder that confirms in one
|
|
371
|
-
// round and reports `missing` in a later one stays recorded, on the reasoning that
|
|
372
|
-
// `handlePush` answers non-missing only after persisting. If the receiver ever
|
|
373
|
-
// gains a path that drops a just-persisted block (an eviction sweep, a rejected
|
|
374
|
-
// revision), the growth arm would record a peer that no longer holds a replica —
|
|
375
|
-
// intersect against the LAST round's confirmedPeers instead of unioning.
|
|
376
|
-
allConfirmedPeers.add(ownerPeerIdStr);
|
|
377
|
-
}
|
|
378
|
-
}
|
|
379
|
-
catch (err) {
|
|
380
|
-
log('confirm:peer-error block=%s peer=%s err=%s', blockId, ownerPeerIdStr, err.message);
|
|
381
|
-
}
|
|
352
|
+
logRefusals('confirm', blockId, outcome.refusals);
|
|
353
|
+
for (const peerId of outcome.confirmed) {
|
|
354
|
+
// NOTE: allConfirmedPeers never un-records a peer. A holder that confirms in one
|
|
355
|
+
// round and reports `missing` in a later one stays recorded, on the reasoning that
|
|
356
|
+
// `handlePush` answers non-missing only after persisting. If the receiver ever
|
|
357
|
+
// gains a path that drops a just-persisted block (an eviction sweep, a rejected
|
|
358
|
+
// revision), the growth arm would record a peer that no longer holds a replica —
|
|
359
|
+
// intersect against the LAST round's confirmed peers instead of unioning.
|
|
360
|
+
allConfirmedPeers.add(peerId);
|
|
382
361
|
}
|
|
383
|
-
confirmCount =
|
|
362
|
+
confirmCount = outcome.confirmed.length;
|
|
384
363
|
}
|
|
385
364
|
finally {
|
|
386
365
|
this.releaseSemaphore();
|
|
@@ -402,6 +381,19 @@ export class BlockTransferCoordinator {
|
|
|
402
381
|
this.inFlight.delete(key);
|
|
403
382
|
}
|
|
404
383
|
}
|
|
384
|
+
/**
|
|
385
|
+
* This coordinator's binding of the shared push loop: rebalance reason, this node's protocol
|
|
386
|
+
* prefix, and `transferTimeoutMs` as BOTH per-peer deadlines (see {@link BlockTransferConfig}).
|
|
387
|
+
*/
|
|
388
|
+
pushBlock(blockId, peerIds, stopAfterConfirmed) {
|
|
389
|
+
return pushBlockToPeers(this.repo, this.peerNetwork, blockId, peerIds, {
|
|
390
|
+
reason: 'rebalance',
|
|
391
|
+
protocolPrefix: this.protocolPrefix,
|
|
392
|
+
stopAfterConfirmed,
|
|
393
|
+
dialTimeoutMs: this.transferTimeoutMs,
|
|
394
|
+
responseTimeoutMs: this.transferTimeoutMs
|
|
395
|
+
});
|
|
396
|
+
}
|
|
405
397
|
// --- Semaphore for concurrency limiting ---
|
|
406
398
|
async acquireSemaphore() {
|
|
407
399
|
if (this.concurrency < this.maxConcurrency) {
|
|
@@ -424,11 +416,20 @@ export class BlockTransferCoordinator {
|
|
|
424
416
|
delay(ms) {
|
|
425
417
|
return new Promise(resolve => setTimeout(resolve, ms));
|
|
426
418
|
}
|
|
419
|
+
/**
|
|
420
|
+
* Resolve `undefined` if `promise` has not settled within `ms`. The timer is cleared on either
|
|
421
|
+
* outcome: left running, it outlived every pull, push and confirm by the full transfer timeout and
|
|
422
|
+
* held a stopped node's process open that long (see `withDeadline` in `repo/coordinator-repo.ts`).
|
|
423
|
+
*/
|
|
427
424
|
withTimeout(promise, ms) {
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
425
|
+
let timer;
|
|
426
|
+
const timeout = new Promise(resolve => {
|
|
427
|
+
timer = setTimeout(() => resolve(undefined), ms);
|
|
428
|
+
});
|
|
429
|
+
return Promise.race([promise, timeout]).finally(() => {
|
|
430
|
+
if (timer !== undefined)
|
|
431
|
+
clearTimeout(timer);
|
|
432
|
+
});
|
|
432
433
|
}
|
|
433
434
|
}
|
|
434
435
|
//# sourceMappingURL=block-transfer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block-transfer.js","sourceRoot":"","sources":["../../../src/cluster/block-transfer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"block-transfer.js","sourceRoot":"","sources":["../../../src/cluster/block-transfer.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,12 +26,10 @@ export declare class ClusterClient extends ProtocolClient implements ICluster {
|
|
|
26
26
|
* Reading `record.message.commit`/`.pend` (the old code) always saw
|
|
27
27
|
* `undefined`, so this hint was dead code and never recorded anything.
|
|
28
28
|
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
* (
|
|
32
|
-
*
|
|
33
|
-
* anchors on a real block id (blockIdsForTransforms), not a structural
|
|
34
|
-
* transforms field name. ClusterClient only ever carries commit/pend.
|
|
29
|
+
* Commit anchors on blockIds[0] (where CoordinatorRepo runs consensus +
|
|
30
|
+
* verifyResponsibility), not tailId. Pend anchors on a real block id
|
|
31
|
+
* (blockIdsForTransforms), not a structural transforms field name.
|
|
32
|
+
* ClusterClient only ever carries commit/pend.
|
|
35
33
|
*/
|
|
36
34
|
private recordCoordinatorForRecordIfSupported;
|
|
37
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/cluster/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAMvD,OAAO,EAA2B,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAKtF,qBAAa,aAAc,SAAQ,cAAe,YAAW,QAAQ;IACL,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM;IAA/F,OAAO;IAIP,mCAAmC;WACrB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,aAAa;IAIjG,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,GAAE,MAAU,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IAqD1G;;;;;;;;OAQG;IACH,OAAO,CAAC,yBAAyB;IAMhC
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/cluster/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAMvD,OAAO,EAA2B,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAKtF,qBAAa,aAAc,SAAQ,cAAe,YAAW,QAAQ;IACL,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM;IAA/F,OAAO;IAIP,mCAAmC;WACrB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,aAAa;IAIjG,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,GAAE,MAAU,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IAqD1G;;;;;;;;OAQG;IACH,OAAO,CAAC,yBAAyB;IAMhC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,qCAAqC;CAS9C"}
|