@optimystic/db-p2p 1.0.0-beta.2 → 1.0.0-beta.3
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/cluster-repo.d.ts +46 -11
- package/dist/src/cluster/cluster-repo.d.ts.map +1 -1
- package/dist/src/cluster/cluster-repo.js +177 -101
- package/dist/src/cluster/cluster-repo.js.map +1 -1
- package/dist/src/libp2p-key-network.d.ts.map +1 -1
- package/dist/src/libp2p-key-network.js +7 -0
- package/dist/src/libp2p-key-network.js.map +1 -1
- package/dist/src/logger.d.ts.map +1 -1
- package/dist/src/logger.js +13 -6
- package/dist/src/logger.js.map +1 -1
- package/dist/src/repo/cluster-coordinator.d.ts +42 -0
- package/dist/src/repo/cluster-coordinator.d.ts.map +1 -1
- package/dist/src/repo/cluster-coordinator.js +50 -9
- package/dist/src/repo/cluster-coordinator.js.map +1 -1
- package/dist/src/repo/coordinator-repo.d.ts +74 -7
- package/dist/src/repo/coordinator-repo.d.ts.map +1 -1
- package/dist/src/repo/coordinator-repo.js +290 -55
- package/dist/src/repo/coordinator-repo.js.map +1 -1
- package/dist/src/storage/storage-repo.d.ts +15 -0
- package/dist/src/storage/storage-repo.d.ts.map +1 -1
- package/dist/src/storage/storage-repo.js +28 -0
- package/dist/src/storage/storage-repo.js.map +1 -1
- package/dist/src/testing/mesh-harness.d.ts +15 -0
- package/dist/src/testing/mesh-harness.d.ts.map +1 -1
- package/dist/src/testing/mesh-harness.js +21 -4
- package/dist/src/testing/mesh-harness.js.map +1 -1
- package/package.json +2 -2
- package/src/cluster/cluster-repo.ts +2749 -2671
- package/src/libp2p-key-network.ts +7 -0
- package/src/logger.ts +14 -6
- package/src/repo/cluster-coordinator.ts +1170 -1113
- package/src/repo/coordinator-repo.ts +2940 -2687
- package/src/storage/storage-repo.ts +30 -0
- package/src/testing/mesh-harness.ts +37 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cluster-coordinator.d.ts","sourceRoot":"","sources":["../../../src/repo/cluster-coordinator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cluster-coordinator.d.ts","sourceRoot":"","sources":["../../../src/repo/cluster-coordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -305,18 +305,29 @@ export class ClusterCoordinator {
|
|
|
305
305
|
// it as a retryable conflict.
|
|
306
306
|
const selfId = this.localCluster?.peerId.toString();
|
|
307
307
|
const cohortPendRefusals = {};
|
|
308
|
+
// The commit arm is re-checked the same way, to the shape the gate reads: a plain
|
|
309
|
+
// `success: true`, or an object whose `success` is `false`. Anything else off the wire is
|
|
310
|
+
// dropped rather than counted as a holder.
|
|
311
|
+
const cohortCommitOutcomes = {};
|
|
308
312
|
for (const [peerId, outcome] of Object.entries(result.applyOutcomes ?? {})) {
|
|
309
|
-
|
|
310
|
-
if (peerId === selfId || pend === undefined || pend.success || !isConflictFailure(pend))
|
|
313
|
+
if (peerId === selfId)
|
|
311
314
|
continue;
|
|
312
|
-
|
|
315
|
+
const pend = outcome?.pend;
|
|
316
|
+
if (pend !== undefined && !pend.success && isConflictFailure(pend)) {
|
|
317
|
+
cohortPendRefusals[peerId] = pend;
|
|
318
|
+
}
|
|
319
|
+
const commit = outcome?.commit;
|
|
320
|
+
if (commit !== null && typeof commit === 'object' && (commit.success === true || commit.success === false)) {
|
|
321
|
+
cohortCommitOutcomes[peerId] = commit;
|
|
322
|
+
}
|
|
313
323
|
}
|
|
314
324
|
return {
|
|
315
325
|
record: result,
|
|
316
326
|
localExecuted,
|
|
317
327
|
...(localPendResult === undefined ? {} : { localPendResult }),
|
|
318
328
|
...(localCommitResult === undefined ? {} : { localCommitResult }),
|
|
319
|
-
...(Object.keys(cohortPendRefusals).length === 0 ? {} : { cohortPendRefusals })
|
|
329
|
+
...(Object.keys(cohortPendRefusals).length === 0 ? {} : { cohortPendRefusals }),
|
|
330
|
+
...(Object.keys(cohortCommitOutcomes).length === 0 ? {} : { cohortCommitOutcomes })
|
|
320
331
|
};
|
|
321
332
|
}
|
|
322
333
|
finally {
|
|
@@ -686,9 +697,9 @@ export class ClusterCoordinator {
|
|
|
686
697
|
initialCommits: Object.keys(record.commits ?? {}),
|
|
687
698
|
transactionsEntry: this.transactions.get(record.messageHash)
|
|
688
699
|
});
|
|
689
|
-
//
|
|
690
|
-
//
|
|
691
|
-
// both; the broadcast's copy wins on overlap, being the later of the two.
|
|
700
|
+
// A member can reach consensus during THIS round rather than during the broadcast below (a
|
|
701
|
+
// record that already carries commits — a retried delivery), so its apply verdicts arrive on
|
|
702
|
+
// these responses. Collect both; the broadcast's copy wins on overlap, being the later of the two.
|
|
692
703
|
mergeApplyOutcomes(record, collectApplyOutcomes(results.map((response, idx) => ({ peerId: peerIds[idx], response }))));
|
|
693
704
|
// Merge all commits into the record
|
|
694
705
|
for (const result of results.filter(Boolean)) {
|
|
@@ -759,9 +770,33 @@ export class ClusterCoordinator {
|
|
|
759
770
|
* the prior commit phase is typically still warm, so a single immediate retry recovers
|
|
760
771
|
* most transient stream errors without falling back to the scheduled retry timer.
|
|
761
772
|
* Local cluster is invoked exactly once — local failures are fatal, not transient.
|
|
773
|
+
*
|
|
774
|
+
* **Delivery order is load-bearing: this node's own member first, awaited, then the remote
|
|
775
|
+
* members in parallel.** This broadcast is where members apply the commit, and a member that is
|
|
776
|
+
* behind (it never saw the pend, or holds no base for the block) reconciles the committed
|
|
777
|
+
* revision from `record.peers` DURING its apply. The coordinator's own member is the one peer
|
|
778
|
+
* guaranteed to hold the revision by then — provided it has actually applied, which a single
|
|
779
|
+
* `Promise.all` over every peer did not guarantee: the remote members' reconciles raced the
|
|
780
|
+
* local apply and found no holder. Its copy also carries the cohort's commit proof
|
|
781
|
+
* (`buildBlockCommitProof`), which `createReconcileBlock` accepts from a single holder, so a
|
|
782
|
+
* whole cohort of behind members can heal from it. The cost is one in-process apply before the
|
|
783
|
+
* network fan-out; no extra round trip. The commit round in `commitTransaction` may stay
|
|
784
|
+
* parallel: on the first pass the record it carries has no commit signatures yet, so no member
|
|
785
|
+
* can reach consensus (and apply) there. The scheduled retry (`retryCommits`) does re-send a
|
|
786
|
+
* record that already carries them, in parallel — but by then this node's member applied in the
|
|
787
|
+
* first broadcast unless it was itself among the failed deliveries, which is the retry residual
|
|
788
|
+
* documented on `executeClusterTransaction`. A coordinator outside `record.peers` is not a
|
|
789
|
+
* reconcile target and gains nothing from this ordering; the durability gate in
|
|
790
|
+
* `CoordinatorRepo.commit` is what makes that shape refuse rather than acknowledge.
|
|
791
|
+
*
|
|
792
|
+
* NOTE: when the coordinating member is ITSELF behind (it never saw the pend), its reconcile
|
|
793
|
+
* runs here before any remote member has applied, finds no holder, and reports not-durable; the
|
|
794
|
+
* remote members then apply and may carry the majority on their own. Fine while the coordinator
|
|
795
|
+
* ordinarily saw the pend; if coordinators are routinely picked after the pend phase, deliver
|
|
796
|
+
* local-first only when the local member holds the pend, or reconcile it once more afterwards.
|
|
762
797
|
*/
|
|
763
798
|
async broadcastMergedRecord(record, peerIds) {
|
|
764
|
-
const
|
|
799
|
+
const deliver = async (peerIdStr) => {
|
|
765
800
|
try {
|
|
766
801
|
const response = await this.updateMember(peerIdStr, record, this.commitBroadcastImmediateRetries, 'commit-broadcast');
|
|
767
802
|
return { peerId: peerIdStr, success: true, response };
|
|
@@ -774,7 +809,13 @@ export class ClusterCoordinator {
|
|
|
774
809
|
});
|
|
775
810
|
return { peerId: peerIdStr, success: false, response: undefined };
|
|
776
811
|
}
|
|
777
|
-
}
|
|
812
|
+
};
|
|
813
|
+
const selfId = this.localCluster?.peerId.toString();
|
|
814
|
+
const localFirst = peerIds.filter(id => id === selfId);
|
|
815
|
+
const remote = peerIds.filter(id => id !== selfId);
|
|
816
|
+
const localResults = await Promise.all(localFirst.map(deliver));
|
|
817
|
+
const remoteResults = await Promise.all(remote.map(deliver));
|
|
818
|
+
const results = [...localResults, ...remoteResults];
|
|
778
819
|
const failures = results.filter(r => !r.success).map(r => r.peerId);
|
|
779
820
|
// This broadcast is where members actually apply the operations, so their responses carry the
|
|
780
821
|
// only report the coordinator ever gets of what each member's OWN storage said. Collecting it
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cluster-coordinator.js","sourceRoot":"","sources":["../../../src/repo/cluster-coordinator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cluster-coordinator.js","sourceRoot":"","sources":["../../../src/repo/cluster-coordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -119,6 +119,10 @@ export interface ICoordinatorClusterSeam {
|
|
|
119
119
|
cohortPendRefusals?: {
|
|
120
120
|
[peerId: string]: StaleFailure;
|
|
121
121
|
};
|
|
122
|
+
/** Other cohort members' post-reconcile commit durability reports; see `ClusterCoordinator.executeClusterTransaction`. */
|
|
123
|
+
cohortCommitOutcomes?: {
|
|
124
|
+
[peerId: string]: CommitResult;
|
|
125
|
+
};
|
|
122
126
|
}>;
|
|
123
127
|
recoverTransactions(): Promise<void>;
|
|
124
128
|
}
|
|
@@ -137,6 +141,31 @@ export declare class CoordinatorRepo implements IRepo {
|
|
|
137
141
|
private readonly responsibilityCache;
|
|
138
142
|
private static readonly RESPONSIBILITY_TTL_MS;
|
|
139
143
|
private readonly lastSeenCommitMs;
|
|
144
|
+
/**
|
|
145
|
+
* Per block, when (`this.now()` at the consult's start) a consult last SETTLED that this node's
|
|
146
|
+
* absence of it is the cohort's answer too — see `absenceSettled` on {@link fetchBlockFromCluster}'s
|
|
147
|
+
* result. Only the solo-self exit settles today: when this node is the block's whole cohort, every
|
|
148
|
+
* acknowledged commit of it lands in this node's storage before the writer hears success, so the
|
|
149
|
+
* block reads present and the memo dies. Read only for a block still missing locally
|
|
150
|
+
* ({@link absenceIsSettled}); cleared by any pend or commit this node coordinates for the block, by
|
|
151
|
+
* seeing it present, and by any later consult of it that does not settle.
|
|
152
|
+
*
|
|
153
|
+
* Deliberately its OWN map rather than `lastSeenCommitMs`: that one is also stamped for missing
|
|
154
|
+
* blocks at exits whose verdict is NOT a confirmed absence (the `cohort-too-small` arm when a peer
|
|
155
|
+
* claimed a revision, the post-restore arm when acquisition failed), so reading it here would turn
|
|
156
|
+
* a `claimed-elsewhere` absence into an authoritative one for a whole window.
|
|
157
|
+
*
|
|
158
|
+
* NOTE: accepted tradeoff — a cohort-of-one view can be transient (peers still mid-identify; see
|
|
159
|
+
* the solo exit), and a block another node creates through the cohort it sees is then reported
|
|
160
|
+
* absent here for up to one `readRepairWindowMs` after this node's view grows — the same one-window
|
|
161
|
+
* cost the held-block window pays for a growing cohort. Revisit if a caller ever needs
|
|
162
|
+
* create-visibility across coordinators tighter than one window — such a caller needs a revision
|
|
163
|
+
* floor (backlog `feat-refresh-can-demand-a-revision-floor`), not a shorter window.
|
|
164
|
+
*
|
|
165
|
+
* NOTE: LRU-bounded like its siblings; an eviction under >1000 settled blocks loses a memo and
|
|
166
|
+
* costs one extra consult — the safe direction.
|
|
167
|
+
*/
|
|
168
|
+
private readonly settledAbsences;
|
|
140
169
|
/** Per block, what earlier repair passes left unresolved — see {@link AheadClaimState}.
|
|
141
170
|
* Outlives the consult on purpose: the read-repair window skips consults for blocks checked
|
|
142
171
|
* recently, and a doubt dropped there is a stale answer served as confirmed again.
|
|
@@ -298,10 +327,29 @@ export declare class CoordinatorRepo implements IRepo {
|
|
|
298
327
|
private flagUnconfirmedCurrency;
|
|
299
328
|
/** Decide whether the read-repair policy wants us to consult the cluster for a present-but-possibly-stale block. */
|
|
300
329
|
private shouldReadRepair;
|
|
330
|
+
/**
|
|
331
|
+
* Decide whether a block MISSING locally may skip its consult: an earlier consult settled its
|
|
332
|
+
* absence within one read-repair window (see {@link settledAbsences}). The absence counterpart of
|
|
333
|
+
* {@link shouldReadRepair}, giving absence the guarantee the window already gives content —
|
|
334
|
+
* "checked with the cohort within one window" — and nothing weaker.
|
|
335
|
+
*
|
|
336
|
+
* Modes: `paranoid` never skips ("verify every read" means every read). `lazy` uses the window and
|
|
337
|
+
* the sample rate, exactly as {@link shouldReadRepair} does. `off` uses the window but not the
|
|
338
|
+
* sample rate (a `lazy`-only knob, as it is for content): `off` disables STALE-CONTENT repair, and
|
|
339
|
+
* the absence consult is not that — it is what makes an absent answer authoritative at all — so
|
|
340
|
+
* leaving it unbounded would make the mode meant to do less network work do more.
|
|
341
|
+
*/
|
|
342
|
+
private absenceIsSettled;
|
|
301
343
|
/** Milliseconds since we last marked this block fresh, or undefined if never. */
|
|
302
344
|
private ageMs;
|
|
303
345
|
/** Mark blocks as freshly observed from cluster authority (post-commit or post-fetch). */
|
|
304
346
|
private markBlocksSeen;
|
|
347
|
+
/**
|
|
348
|
+
* Drop any settled-absence memo for `blockIds` ({@link settledAbsences}) — called at the top of a
|
|
349
|
+
* local pend or commit, before routing and whatever the outcome. Clearing is always the safe
|
|
350
|
+
* direction: the most it can cost is one extra consult.
|
|
351
|
+
*/
|
|
352
|
+
private forgetSettledAbsences;
|
|
305
353
|
/**
|
|
306
354
|
* True when a commit's approve votes form a strict majority of the FULL cohort — the only case
|
|
307
355
|
* where "this node committed" is evidence that no rival commit moved past it. Two strict
|
|
@@ -356,6 +404,15 @@ export declare class CoordinatorRepo implements IRepo {
|
|
|
356
404
|
* retire it when the memo's claimants are among the peers that answered), `no-evidence`
|
|
357
405
|
* leaves it standing untouched. Required, not optional, so an exit added later has to say
|
|
358
406
|
* which it means.
|
|
407
|
+
* - `absenceSettled` — whether this pass SETTLED the block's absence for one read-repair window:
|
|
408
|
+
* no write of it this node has not seen can exist. Only the solo-self exit can say that today
|
|
409
|
+
* (this node is the whole cohort, so every acknowledged commit lands here). `get` remembers a
|
|
410
|
+
* settled absence ({@link settledAbsences}) and skips the consult while the block stays missing.
|
|
411
|
+
* `absence === 'confirmed'` alone is not enough — the empty-cohort exit reports it without
|
|
412
|
+
* asking anyone, and a multi-peer cohort's unanimous "nothing" can be overtaken by a commit
|
|
413
|
+
* still on its way to this node. Required, like
|
|
414
|
+
* `currency`, so an exit added later has to say which side it falls on rather than
|
|
415
|
+
* remembering (or forgetting) to arm something.
|
|
359
416
|
*/
|
|
360
417
|
private fetchBlockFromCluster;
|
|
361
418
|
/**
|
|
@@ -674,14 +731,24 @@ export declare class CoordinatorRepo implements IRepo {
|
|
|
674
731
|
*/
|
|
675
732
|
private confirmCommitRivalAgainstLocal;
|
|
676
733
|
/**
|
|
677
|
-
*
|
|
678
|
-
*
|
|
679
|
-
*
|
|
680
|
-
*
|
|
681
|
-
*
|
|
682
|
-
*
|
|
683
|
-
*
|
|
734
|
+
* A commit the cluster carried but this peer could not apply locally. Reported as success only
|
|
735
|
+
* when a durable majority of the OTHER cohort members holds it (this node, having diverged, is
|
|
736
|
+
* not a holder) — convergence then comes from replication (cohort reconcile, or read-driven
|
|
737
|
+
* acquisition), not from replay here. Without that majority it is the durability gate's
|
|
738
|
+
* retryable refusal: nothing is known to hold the revision. `armFreshness` says whether the
|
|
739
|
+
* commit's quorum was strong enough ({@link commitQuorumRulesOutRivals}) for the read path to
|
|
740
|
+
* treat the blocks as freshness-checked; a divergence tolerated on a downsized quorum leaves the
|
|
741
|
+
* window unarmed — this peer is known to be behind here, the last place a self-referential
|
|
742
|
+
* freshness stamp belongs.
|
|
684
743
|
*/
|
|
685
744
|
private tolerateLocalCommitDivergence;
|
|
745
|
+
/**
|
|
746
|
+
* The durability gate's answer: a retryable refusal ({@link COMMIT_NOT_DURABLE_REASON}) naming how
|
|
747
|
+
* many of the cohort reported holding the revision. `conflict: true` because the members that
|
|
748
|
+
* refused have dropped their pending records, so the writer's only way forward is to cancel and
|
|
749
|
+
* re-drive at a fresh revision — the path a conflict-shaped answer already puts it on. The
|
|
750
|
+
* read-repair window is deliberately NOT armed: nothing about this commit is freshness evidence.
|
|
751
|
+
*/
|
|
752
|
+
private refuseCommitNotDurable;
|
|
686
753
|
}
|
|
687
754
|
//# sourceMappingURL=coordinator-repo.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator-repo.d.ts","sourceRoot":"","sources":["../../../src/repo/coordinator-repo.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"coordinator-repo.d.ts","sourceRoot":"","sources":["../../../src/repo/coordinator-repo.ts"],"names":[],"mappings":"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"}
|