@peerbit/shared-log 16.0.26 → 16.0.27
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/index.d.ts +42 -5
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +82 -7
- package/dist/src/index.js.map +1 -1
- package/dist/src/replication-info-v2-receive.d.ts +27 -0
- package/dist/src/replication-info-v2-receive.d.ts.map +1 -1
- package/dist/src/replication-info-v2-receive.js +135 -0
- package/dist/src/replication-info-v2-receive.js.map +1 -1
- package/dist/src/replication-info-v2-send.d.ts +27 -0
- package/dist/src/replication-info-v2-send.d.ts.map +1 -1
- package/dist/src/replication-info-v2-send.js +112 -0
- package/dist/src/replication-info-v2-send.js.map +1 -1
- package/package.json +17 -17
- package/src/index.ts +193 -18
- package/src/replication-info-v2-receive.ts +209 -0
- package/src/replication-info-v2-send.ts +164 -0
|
@@ -262,6 +262,7 @@ export class ReplicationInfoV2SendCoordinator {
|
|
|
262
262
|
const waiter = {
|
|
263
263
|
revision: this._revision,
|
|
264
264
|
minPeers: properties.minPeers,
|
|
265
|
+
startedAt: Date.now(),
|
|
265
266
|
target: properties.target ? { ...properties.target } : undefined,
|
|
266
267
|
resolve,
|
|
267
268
|
reject,
|
|
@@ -287,6 +288,117 @@ export class ReplicationInfoV2SendCoordinator {
|
|
|
287
288
|
this.nudgeConfirmations();
|
|
288
289
|
});
|
|
289
290
|
}
|
|
291
|
+
/**
|
|
292
|
+
* Bounded, read-only state for persisted-readiness troubleshooting. Opaque
|
|
293
|
+
* session/challenge values and peer maps are intentionally excluded.
|
|
294
|
+
*/
|
|
295
|
+
diagnosePeer(target) {
|
|
296
|
+
const state = this._sendStates.get(target.peerHash);
|
|
297
|
+
let matchingConfirmationCount = 0;
|
|
298
|
+
let oldestStartedAt;
|
|
299
|
+
for (const waiter of this._confirmations) {
|
|
300
|
+
if (waiter.target?.peerHash !== target.peerHash ||
|
|
301
|
+
(target.peerSession !== undefined &&
|
|
302
|
+
waiter.target.peerSession !== target.peerSession) ||
|
|
303
|
+
(target.receiverTransportSession !== undefined &&
|
|
304
|
+
waiter.target.receiverTransportSession !==
|
|
305
|
+
target.receiverTransportSession)) {
|
|
306
|
+
continue;
|
|
307
|
+
}
|
|
308
|
+
matchingConfirmationCount++;
|
|
309
|
+
oldestStartedAt =
|
|
310
|
+
oldestStartedAt === undefined
|
|
311
|
+
? waiter.startedAt
|
|
312
|
+
: Math.min(oldestStartedAt, waiter.startedAt);
|
|
313
|
+
}
|
|
314
|
+
const common = {
|
|
315
|
+
currentRevision: this._revision.toString(),
|
|
316
|
+
confirmationWaiters: Math.min(this.maxConfirmationWaiters, matchingConfirmationCount),
|
|
317
|
+
...(oldestStartedAt === undefined
|
|
318
|
+
? {}
|
|
319
|
+
: {
|
|
320
|
+
oldestConfirmationAgeMs: Math.min(MAX_TIMER_MS, Math.max(0, Date.now() - oldestStartedAt)),
|
|
321
|
+
}),
|
|
322
|
+
};
|
|
323
|
+
if (!state) {
|
|
324
|
+
return Object.freeze({
|
|
325
|
+
state: this._retiringWorkersByPeer.has(target.peerHash)
|
|
326
|
+
? "stale"
|
|
327
|
+
: "absent",
|
|
328
|
+
reason: this._retiringWorkersByPeer.has(target.peerHash)
|
|
329
|
+
? "state-retiring"
|
|
330
|
+
: "state-absent",
|
|
331
|
+
...common,
|
|
332
|
+
});
|
|
333
|
+
}
|
|
334
|
+
let status = "current";
|
|
335
|
+
let reason;
|
|
336
|
+
if (target.peerSession !== undefined &&
|
|
337
|
+
state.peerSession !== target.peerSession) {
|
|
338
|
+
status = "stale";
|
|
339
|
+
reason = "peer-session-mismatch";
|
|
340
|
+
}
|
|
341
|
+
else if (target.receiverTransportSession !== undefined &&
|
|
342
|
+
state.receiverTransportSession !== target.receiverTransportSession) {
|
|
343
|
+
status = "stale";
|
|
344
|
+
reason = "transport-session-mismatch";
|
|
345
|
+
}
|
|
346
|
+
else if (!this.isDestinationCurrent(state)) {
|
|
347
|
+
status = "stale";
|
|
348
|
+
reason = "destination-not-current";
|
|
349
|
+
}
|
|
350
|
+
else if (!this.isDestinationReady(state)) {
|
|
351
|
+
reason = "destination-not-open";
|
|
352
|
+
}
|
|
353
|
+
else if (!this.deps.isReplicationOwnershipLifecycleActive(state.ownershipLifecycleController)) {
|
|
354
|
+
reason = "ownership-inactive";
|
|
355
|
+
}
|
|
356
|
+
else if (state.suspended || state.retryTimer !== undefined) {
|
|
357
|
+
reason = "retry-backoff";
|
|
358
|
+
}
|
|
359
|
+
else if (state.applicationConfirmationRequest !== undefined) {
|
|
360
|
+
reason = "confirmation-in-flight";
|
|
361
|
+
}
|
|
362
|
+
else if (state.inFlightRevision !== undefined) {
|
|
363
|
+
reason = "send-in-flight";
|
|
364
|
+
}
|
|
365
|
+
else if (state.pending !== undefined) {
|
|
366
|
+
reason = "send-pending";
|
|
367
|
+
}
|
|
368
|
+
else if (state.appliedRevision !== undefined &&
|
|
369
|
+
state.appliedRevision >= this._revision) {
|
|
370
|
+
reason = "latest-applied";
|
|
371
|
+
}
|
|
372
|
+
else {
|
|
373
|
+
reason = "latest-unconfirmed";
|
|
374
|
+
}
|
|
375
|
+
return Object.freeze({
|
|
376
|
+
state: status,
|
|
377
|
+
reason,
|
|
378
|
+
established: state.established,
|
|
379
|
+
suspended: state.suspended,
|
|
380
|
+
...common,
|
|
381
|
+
...(state.pending === undefined
|
|
382
|
+
? {}
|
|
383
|
+
: { pendingRevision: state.pending.revision.toString() }),
|
|
384
|
+
...(state.inFlightRevision === undefined
|
|
385
|
+
? {}
|
|
386
|
+
: { inFlightRevision: state.inFlightRevision.toString() }),
|
|
387
|
+
...(state.inFlightSequence === undefined
|
|
388
|
+
? {}
|
|
389
|
+
: { inFlightSequence: state.inFlightSequence.toString() }),
|
|
390
|
+
...(state.appliedRevision === undefined
|
|
391
|
+
? {}
|
|
392
|
+
: { appliedRevision: state.appliedRevision.toString() }),
|
|
393
|
+
...(state.applicationConfirmationRequest === undefined
|
|
394
|
+
? {}
|
|
395
|
+
: {
|
|
396
|
+
confirmationRevision: state.applicationConfirmationRequest.revision.toString(),
|
|
397
|
+
confirmationSequence: state.applicationConfirmationRequest.sequence.toString(),
|
|
398
|
+
}),
|
|
399
|
+
retryAttempts: Math.min(MAX_BACKOFF_EXPONENT + 1, Math.max(0, state.retryAttempts)),
|
|
400
|
+
});
|
|
401
|
+
}
|
|
290
402
|
/**
|
|
291
403
|
* Wait until the latest committed local replication revision is reported as
|
|
292
404
|
* durably applied by the configured number of current peers. Revisions newer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replication-info-v2-send.js","sourceRoot":"","sources":["../../src/replication-info-v2-send.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"replication-info-v2-send.js","sourceRoot":"","sources":["../../src/replication-info-v2-send.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peerbit/shared-log",
|
|
3
|
-
"version": "16.0.
|
|
3
|
+
"version": "16.0.27",
|
|
4
4
|
"description": "Shared log",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"type": "module",
|
|
@@ -62,37 +62,37 @@
|
|
|
62
62
|
"pidusage": "^4.0.1",
|
|
63
63
|
"pino": "^9.4.0",
|
|
64
64
|
"uint8arrays": "^5.1.0",
|
|
65
|
-
"@peerbit/
|
|
66
|
-
"@peerbit/blocks": "
|
|
67
|
-
"@peerbit/blocks-interface": "2.1.8",
|
|
65
|
+
"@peerbit/blocks": "4.3.0",
|
|
66
|
+
"@peerbit/blocks-interface": "2.2.0",
|
|
68
67
|
"@peerbit/cache": "3.1.1",
|
|
69
68
|
"@peerbit/crypto": "3.1.6",
|
|
69
|
+
"@peerbit/any-store": "2.2.17",
|
|
70
70
|
"@peerbit/diagnostics": "0.0.1",
|
|
71
|
+
"@peerbit/indexer-interface": "3.0.13",
|
|
71
72
|
"@peerbit/indexer-sqlite3": "3.0.20",
|
|
72
|
-
"@peerbit/log": "6.2.
|
|
73
|
-
"@peerbit/
|
|
73
|
+
"@peerbit/log": "6.2.32",
|
|
74
|
+
"@peerbit/logger": "2.0.2",
|
|
75
|
+
"@peerbit/program": "6.0.59",
|
|
74
76
|
"@peerbit/pubsub": "5.4.5",
|
|
75
|
-
"@peerbit/pubsub-interface": "5.2.2",
|
|
76
77
|
"@peerbit/riblt": "1.2.0",
|
|
77
|
-
"@peerbit/
|
|
78
|
-
"@peerbit/rpc": "6.1.
|
|
79
|
-
"@peerbit/
|
|
80
|
-
"@peerbit/
|
|
81
|
-
"@peerbit/time": "3.0.1"
|
|
78
|
+
"@peerbit/pubsub-interface": "5.2.2",
|
|
79
|
+
"@peerbit/rpc": "6.1.27",
|
|
80
|
+
"@peerbit/time": "3.0.1",
|
|
81
|
+
"@peerbit/stream-interface": "6.0.16"
|
|
82
82
|
},
|
|
83
83
|
"optionalDependencies": {
|
|
84
|
-
"@peerbit/native-backbone": "0.2.
|
|
84
|
+
"@peerbit/native-backbone": "0.2.13",
|
|
85
85
|
"@peerbit/shared-log-rust": "0.1.7"
|
|
86
86
|
},
|
|
87
87
|
"devDependencies": {
|
|
88
88
|
"@types/libsodium-wrappers": "^0.7.14",
|
|
89
89
|
"@types/pidusage": "^2.0.5",
|
|
90
90
|
"uuid": "^11.1.1",
|
|
91
|
-
"@peerbit/indexer-simple": "1.2.17",
|
|
92
91
|
"@peerbit/any-store-rust": "0.1.7",
|
|
93
|
-
"@peerbit/
|
|
94
|
-
"peerbit": "
|
|
95
|
-
"@peerbit/
|
|
92
|
+
"@peerbit/indexer-rust": "1.0.14",
|
|
93
|
+
"@peerbit/indexer-simple": "1.2.17",
|
|
94
|
+
"@peerbit/test-utils": "3.1.39",
|
|
95
|
+
"peerbit": "5.4.0"
|
|
96
96
|
},
|
|
97
97
|
"repository": {
|
|
98
98
|
"type": "git",
|
package/src/index.ts
CHANGED
|
@@ -260,10 +260,14 @@ import type {
|
|
|
260
260
|
AddedReplicationInfoMutation,
|
|
261
261
|
FullReplicationInfoMutation,
|
|
262
262
|
} from "./replication-info-mutation.js";
|
|
263
|
-
import {
|
|
263
|
+
import {
|
|
264
|
+
ReplicationInfoV2ReceiveCoordinator,
|
|
265
|
+
type ReplicationInfoV2ReceiveDiagnostic,
|
|
266
|
+
} from "./replication-info-v2-receive.js";
|
|
264
267
|
import {
|
|
265
268
|
type ReplicationInfoV2ConfirmationOptions,
|
|
266
269
|
ReplicationInfoV2SendCoordinator,
|
|
270
|
+
type ReplicationInfoV2SendDiagnostic,
|
|
267
271
|
} from "./replication-info-v2-send.js";
|
|
268
272
|
import {
|
|
269
273
|
type ReplicationStatus,
|
|
@@ -1860,6 +1864,39 @@ export type PersistedReceiptPeerReadinessUnsupportedReason =
|
|
|
1860
1864
|
| "persisted-receipts-unsupported"
|
|
1861
1865
|
| "replication-confirmation-unsupported";
|
|
1862
1866
|
|
|
1867
|
+
/**
|
|
1868
|
+
* Bounded, payload-free diagnostics for one persisted-receipt readiness
|
|
1869
|
+
* inspection. Session and transport identities remain opaque; revision and
|
|
1870
|
+
* sequence values are decimal strings so the snapshot is JSON-safe. `reason`
|
|
1871
|
+
* fields classify the current state; rejected-packet and disconnected-peer
|
|
1872
|
+
* history is deliberately not retained.
|
|
1873
|
+
*/
|
|
1874
|
+
export type PersistedReceiptPeerReadinessDiagnostic = Readonly<{
|
|
1875
|
+
version: 1;
|
|
1876
|
+
log: "open" | "closed";
|
|
1877
|
+
session: Readonly<{
|
|
1878
|
+
state: "absent" | "current";
|
|
1879
|
+
phase?: "opening" | "open" | "departing" | "superseded";
|
|
1880
|
+
established: boolean;
|
|
1881
|
+
suspended: boolean;
|
|
1882
|
+
openingBarrierActive: boolean;
|
|
1883
|
+
replicationInfoBlocked: boolean;
|
|
1884
|
+
receiveCleanupGateOpen: boolean;
|
|
1885
|
+
}>;
|
|
1886
|
+
capability: Readonly<{
|
|
1887
|
+
state: "absent" | "observed";
|
|
1888
|
+
persistedReceipts: boolean;
|
|
1889
|
+
replicationConfirmation: boolean;
|
|
1890
|
+
}>;
|
|
1891
|
+
sender: ReplicationInfoV2SendDiagnostic;
|
|
1892
|
+
receiver: ReplicationInfoV2ReceiveDiagnostic;
|
|
1893
|
+
}>;
|
|
1894
|
+
|
|
1895
|
+
type PersistedReceiptPeerReadinessDiagnosticAttachment = Readonly<{
|
|
1896
|
+
/** Present only when `diagnostics: true` was requested. */
|
|
1897
|
+
diagnostic?: PersistedReceiptPeerReadinessDiagnostic;
|
|
1898
|
+
}>;
|
|
1899
|
+
|
|
1863
1900
|
/**
|
|
1864
1901
|
* Detached view of one public key's current persisted-receipt generation.
|
|
1865
1902
|
* `generation` is opaque: callers may compare it for equality, but must not
|
|
@@ -1868,20 +1905,23 @@ export type PersistedReceiptPeerReadinessUnsupportedReason =
|
|
|
1868
1905
|
* leadership and outbound confirmation can still change within a generation.
|
|
1869
1906
|
*/
|
|
1870
1907
|
export type PersistedReceiptPeerReadiness =
|
|
1871
|
-
| Readonly<{
|
|
1908
|
+
| (Readonly<{
|
|
1872
1909
|
status: "ready";
|
|
1873
1910
|
generation: string;
|
|
1874
|
-
}>
|
|
1875
|
-
|
|
1911
|
+
}> &
|
|
1912
|
+
PersistedReceiptPeerReadinessDiagnosticAttachment)
|
|
1913
|
+
| (Readonly<{
|
|
1876
1914
|
status: "pending";
|
|
1877
1915
|
reason: PersistedReceiptPeerReadinessPendingReason;
|
|
1878
1916
|
generation?: string;
|
|
1879
|
-
}>
|
|
1880
|
-
|
|
1917
|
+
}> &
|
|
1918
|
+
PersistedReceiptPeerReadinessDiagnosticAttachment)
|
|
1919
|
+
| (Readonly<{
|
|
1881
1920
|
status: "unsupported";
|
|
1882
1921
|
reason: PersistedReceiptPeerReadinessUnsupportedReason;
|
|
1883
1922
|
generation: string;
|
|
1884
|
-
}
|
|
1923
|
+
}> &
|
|
1924
|
+
PersistedReceiptPeerReadinessDiagnosticAttachment);
|
|
1885
1925
|
|
|
1886
1926
|
export type PersistedReceiptPeerReady = Extract<
|
|
1887
1927
|
PersistedReceiptPeerReadiness,
|
|
@@ -1892,6 +1932,8 @@ export type PersistedReceiptPeerReadinessOptions<
|
|
|
1892
1932
|
T,
|
|
1893
1933
|
R extends "u32" | "u64",
|
|
1894
1934
|
> = Readonly<{
|
|
1935
|
+
/** Include a bounded, JSON-safe diagnostic snapshot in the result. */
|
|
1936
|
+
diagnostics?: boolean;
|
|
1895
1937
|
/** Require this peer to be a freshly planned leader for every entry. */
|
|
1896
1938
|
entries?: readonly (ShallowOrFullEntry<T> | EntryReplicated<R>)[];
|
|
1897
1939
|
/**
|
|
@@ -1952,6 +1994,7 @@ const MAX_PERSISTED_RECEIPT_ATTEMPT_MS = 2_000;
|
|
|
1952
1994
|
const MAX_PERSISTED_RECEIPT_REQUESTS_GLOBAL = 8;
|
|
1953
1995
|
const MAX_PERSISTED_RECEIPT_REQUESTS_PER_PEER = 2;
|
|
1954
1996
|
const MAX_PERSISTED_RECEIPT_READINESS_WAITERS = 1_024;
|
|
1997
|
+
const MAX_PERSISTED_RECEIPT_READINESS_DIAGNOSTIC_SUMMARY_CHARS = 768;
|
|
1955
1998
|
const PERSISTED_RECEIPT_INGRESS_PEER_REQUEST_CAPACITY = 16;
|
|
1956
1999
|
const PERSISTED_RECEIPT_INGRESS_PEER_HASH_CAPACITY = 8_192;
|
|
1957
2000
|
const PERSISTED_RECEIPT_INGRESS_PEER_REQUESTS_PER_SECOND = 8;
|
|
@@ -4447,8 +4490,7 @@ export class SharedLog<
|
|
|
4447
4490
|
|
|
4448
4491
|
const profile = this._logProperties?.sync?.profile;
|
|
4449
4492
|
const startedAt = syncProfileStart(profile);
|
|
4450
|
-
const mode =
|
|
4451
|
-
resolvedRoot === fanoutService.publicKeyHash ? "root" : "node";
|
|
4493
|
+
const mode = resolvedRoot === fanoutService.publicKeyHash ? "root" : "node";
|
|
4452
4494
|
const before = profile
|
|
4453
4495
|
? snapshotFanoutOpenMetrics(fanoutService, this.topic, resolvedRoot)
|
|
4454
4496
|
: undefined;
|
|
@@ -5770,6 +5812,117 @@ export class SharedLog<
|
|
|
5770
5812
|
});
|
|
5771
5813
|
}
|
|
5772
5814
|
|
|
5815
|
+
private persistedReceiptReadinessDiagnostic(
|
|
5816
|
+
peerHash: string,
|
|
5817
|
+
): PersistedReceiptPeerReadinessDiagnostic {
|
|
5818
|
+
const peerSession = this._peerSessions.current(peerHash);
|
|
5819
|
+
const receiveEpoch = this._peerSessions.receiveEpoch(peerHash);
|
|
5820
|
+
const capabilitySession = this._peerSyncCapabilitySessions.get(peerHash);
|
|
5821
|
+
const capabilities = this._peerSyncCapabilities.get(peerHash) ?? 0;
|
|
5822
|
+
const replicationInfoBlocked =
|
|
5823
|
+
this._peerSessions.isReplicationInfoBlocked(peerHash);
|
|
5824
|
+
const receiveCleanupGateOpen =
|
|
5825
|
+
this._peerSessions.isReceiveCleanupGateOpen(peerHash);
|
|
5826
|
+
const active = peerSession?.isActive() ?? false;
|
|
5827
|
+
const established =
|
|
5828
|
+
!this.closed &&
|
|
5829
|
+
peerSession?.phase === "open" &&
|
|
5830
|
+
active &&
|
|
5831
|
+
!replicationInfoBlocked &&
|
|
5832
|
+
receiveCleanupGateOpen;
|
|
5833
|
+
const session = Object.freeze({
|
|
5834
|
+
state: peerSession ? ("current" as const) : ("absent" as const),
|
|
5835
|
+
...(peerSession ? { phase: peerSession.phase } : {}),
|
|
5836
|
+
established,
|
|
5837
|
+
suspended: !established,
|
|
5838
|
+
openingBarrierActive: peerSession?.openingBarrierActive ?? false,
|
|
5839
|
+
replicationInfoBlocked,
|
|
5840
|
+
receiveCleanupGateOpen,
|
|
5841
|
+
});
|
|
5842
|
+
const capabilityObserved =
|
|
5843
|
+
capabilitySession !== undefined &&
|
|
5844
|
+
this._peerSyncCapabilityTimestamps.has(peerHash);
|
|
5845
|
+
const capability = Object.freeze({
|
|
5846
|
+
state: capabilityObserved ? ("observed" as const) : ("absent" as const),
|
|
5847
|
+
persistedReceipts:
|
|
5848
|
+
(capabilities & SYNC_CAPABILITY_PERSISTED_ENTRY_RECEIPTS) !== 0,
|
|
5849
|
+
replicationConfirmation:
|
|
5850
|
+
(capabilities & SYNC_CAPABILITY_REPLICATION_INFO_V2_CONFIRM) !== 0,
|
|
5851
|
+
});
|
|
5852
|
+
return Object.freeze({
|
|
5853
|
+
version: 1 as const,
|
|
5854
|
+
log: this.closed ? ("closed" as const) : ("open" as const),
|
|
5855
|
+
session,
|
|
5856
|
+
capability,
|
|
5857
|
+
sender: this._v2Send.diagnosePeer({
|
|
5858
|
+
peerHash,
|
|
5859
|
+
...(peerSession ? { peerSession } : {}),
|
|
5860
|
+
...(capabilitySession === undefined
|
|
5861
|
+
? {}
|
|
5862
|
+
: { receiverTransportSession: capabilitySession }),
|
|
5863
|
+
}),
|
|
5864
|
+
receiver: this._v2Receive.diagnosePeer({
|
|
5865
|
+
peerHash,
|
|
5866
|
+
...(peerSession ? { peerSession } : {}),
|
|
5867
|
+
receiveEpoch,
|
|
5868
|
+
...(capabilitySession === undefined
|
|
5869
|
+
? {}
|
|
5870
|
+
: { senderTransportSession: capabilitySession }),
|
|
5871
|
+
}),
|
|
5872
|
+
});
|
|
5873
|
+
}
|
|
5874
|
+
|
|
5875
|
+
private attachPersistedReceiptReadinessDiagnostic<
|
|
5876
|
+
Snapshot extends PersistedReceiptPeerReadiness,
|
|
5877
|
+
>(
|
|
5878
|
+
peerHash: string,
|
|
5879
|
+
snapshot: Snapshot,
|
|
5880
|
+
enabled: boolean | undefined,
|
|
5881
|
+
): Snapshot {
|
|
5882
|
+
if (enabled !== true) return snapshot;
|
|
5883
|
+
return Object.freeze({
|
|
5884
|
+
...snapshot,
|
|
5885
|
+
diagnostic: this.persistedReceiptReadinessDiagnostic(peerHash),
|
|
5886
|
+
}) as Snapshot;
|
|
5887
|
+
}
|
|
5888
|
+
|
|
5889
|
+
private formatPersistedReceiptReadinessDiagnostic(peerHash: string): string {
|
|
5890
|
+
const diagnostic = this.persistedReceiptReadinessDiagnostic(peerHash);
|
|
5891
|
+
const { session, capability, sender, receiver } = diagnostic;
|
|
5892
|
+
const summary = [
|
|
5893
|
+
`session=${session.state}/${session.phase ?? "none"}/${
|
|
5894
|
+
session.established ? "established" : "suspended"
|
|
5895
|
+
}`,
|
|
5896
|
+
`capability=${capability.state}/persisted:${
|
|
5897
|
+
capability.persistedReceipts ? 1 : 0
|
|
5898
|
+
}/confirm:${capability.replicationConfirmation ? 1 : 0}`,
|
|
5899
|
+
`sender=${sender.state}/${sender.reason}/revision:${
|
|
5900
|
+
sender.currentRevision
|
|
5901
|
+
}/pending:${sender.pendingRevision ?? "none"}/inflight:${
|
|
5902
|
+
sender.inFlightSequence ?? "none"
|
|
5903
|
+
}@${sender.inFlightRevision ?? "none"}/applied:${
|
|
5904
|
+
sender.appliedRevision ?? "none"
|
|
5905
|
+
}/confirmation:${sender.confirmationSequence ?? "none"}@${
|
|
5906
|
+
sender.confirmationRevision ?? "none"
|
|
5907
|
+
}/waiters:${sender.confirmationWaiters}/oldest-ms:${
|
|
5908
|
+
sender.oldestConfirmationAgeMs ?? "none"
|
|
5909
|
+
}/retries:${sender.retryAttempts ?? 0}`,
|
|
5910
|
+
`receiver=${receiver.state}/${receiver.reason}/phase:${
|
|
5911
|
+
receiver.phase ?? "none"
|
|
5912
|
+
}/request:${receiver.requestState ?? "none"}/applied-sequence:${
|
|
5913
|
+
receiver.lastAppliedSequence ?? "none"
|
|
5914
|
+
}/retries:${receiver.requestAttempts ?? 0}/rearm:${
|
|
5915
|
+
receiver.remoteFullRearm
|
|
5916
|
+
}/rearm-attempts:${receiver.remoteFullRearmAttempts}/rearm-outstanding:${
|
|
5917
|
+
receiver.remoteFullRearmOutstanding
|
|
5918
|
+
}/rearm-global:${receiver.remoteFullRearmGlobalOutstanding}`,
|
|
5919
|
+
].join(" ");
|
|
5920
|
+
return summary.slice(
|
|
5921
|
+
0,
|
|
5922
|
+
MAX_PERSISTED_RECEIPT_READINESS_DIAGNOSTIC_SUMMARY_CHARS,
|
|
5923
|
+
);
|
|
5924
|
+
}
|
|
5925
|
+
|
|
5773
5926
|
private dispatchPersistedReceiptReadinessChange(peerHash: string): void {
|
|
5774
5927
|
this.events.dispatchEvent(
|
|
5775
5928
|
new CustomEvent<PersistedReceiptPeerReadinessEvent>(
|
|
@@ -5861,9 +6014,7 @@ export class SharedLog<
|
|
|
5861
6014
|
};
|
|
5862
6015
|
}
|
|
5863
6016
|
|
|
5864
|
-
private persistedReceiptPeerSession(
|
|
5865
|
-
peerHash: string,
|
|
5866
|
-
):
|
|
6017
|
+
private persistedReceiptPeerSession(peerHash: string):
|
|
5867
6018
|
| {
|
|
5868
6019
|
capabilitySession: bigint;
|
|
5869
6020
|
peerSession: PeerSession;
|
|
@@ -24398,8 +24549,7 @@ export class SharedLog<
|
|
|
24398
24549
|
if (
|
|
24399
24550
|
!peerSession ||
|
|
24400
24551
|
peerSession.phase === "departing" ||
|
|
24401
|
-
(peerSession.phase === "opening" &&
|
|
24402
|
-
!peerSession.openingBarrierActive)
|
|
24552
|
+
(peerSession.phase === "opening" && !peerSession.openingBarrierActive)
|
|
24403
24553
|
) {
|
|
24404
24554
|
// A barrier rejection deliberately leaves the current session in its
|
|
24405
24555
|
// fail-closed opening phase after the barrier window has settled. Ask the
|
|
@@ -24465,7 +24615,18 @@ export class SharedLog<
|
|
|
24465
24615
|
key: PublicSignKey,
|
|
24466
24616
|
options: PersistedReceiptPeerReadinessOptions<T, R> = {},
|
|
24467
24617
|
): Promise<PersistedReceiptPeerReadiness> {
|
|
24468
|
-
|
|
24618
|
+
if (options.diagnostics !== true) {
|
|
24619
|
+
return this.inspectPersistedReceiptPeerReadiness(key, options);
|
|
24620
|
+
}
|
|
24621
|
+
const snapshot = await this.inspectPersistedReceiptPeerReadiness(
|
|
24622
|
+
key,
|
|
24623
|
+
options,
|
|
24624
|
+
);
|
|
24625
|
+
return this.attachPersistedReceiptReadinessDiagnostic(
|
|
24626
|
+
key.hashcode(),
|
|
24627
|
+
snapshot,
|
|
24628
|
+
options.diagnostics,
|
|
24629
|
+
);
|
|
24469
24630
|
}
|
|
24470
24631
|
|
|
24471
24632
|
private async inspectPersistedReceiptPeerReadiness(
|
|
@@ -24657,8 +24818,10 @@ export class SharedLog<
|
|
|
24657
24818
|
"reason" in lastSnapshot ? `/${lastSnapshot.reason}` : ""
|
|
24658
24819
|
})`
|
|
24659
24820
|
: "";
|
|
24821
|
+
const diagnostic =
|
|
24822
|
+
this.formatPersistedReceiptReadinessDiagnostic(peerHash);
|
|
24660
24823
|
return new TimeoutError(
|
|
24661
|
-
`Timeout waiting for persisted-receipt readiness from ${peerHash}${suffix}`,
|
|
24824
|
+
`Timeout waiting for persisted-receipt readiness from ${peerHash}${suffix}; diagnostic: ${diagnostic}`,
|
|
24662
24825
|
);
|
|
24663
24826
|
};
|
|
24664
24827
|
|
|
@@ -24806,7 +24969,13 @@ export class SharedLog<
|
|
|
24806
24969
|
// A wake observed while the asynchronous inspection was running may
|
|
24807
24970
|
// already have invalidated this snapshot. Drain that coalesced wake
|
|
24808
24971
|
// before publishing readiness.
|
|
24809
|
-
resolve(
|
|
24972
|
+
resolve(
|
|
24973
|
+
this.attachPersistedReceiptReadinessDiagnostic(
|
|
24974
|
+
peerHash,
|
|
24975
|
+
snapshot,
|
|
24976
|
+
options.diagnostics,
|
|
24977
|
+
),
|
|
24978
|
+
);
|
|
24810
24979
|
return;
|
|
24811
24980
|
}
|
|
24812
24981
|
if (
|
|
@@ -24868,7 +25037,13 @@ export class SharedLog<
|
|
|
24868
25037
|
if (snapshot.status === "ready") {
|
|
24869
25038
|
confirmationRecoveryTarget = undefined;
|
|
24870
25039
|
if (rerun) return;
|
|
24871
|
-
resolve(
|
|
25040
|
+
resolve(
|
|
25041
|
+
this.attachPersistedReceiptReadinessDiagnostic(
|
|
25042
|
+
peerHash,
|
|
25043
|
+
snapshot,
|
|
25044
|
+
options.diagnostics,
|
|
25045
|
+
),
|
|
25046
|
+
);
|
|
24872
25047
|
return;
|
|
24873
25048
|
}
|
|
24874
25049
|
if (
|