@peerbit/shared-log 16.0.24 → 16.0.26

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.
@@ -45,6 +45,15 @@ export type ReplicationInfoV2LocalCapabilityAdvertisement = {
45
45
  inFlight?: Promise<void>;
46
46
  firstAttempt?: Promise<void>;
47
47
  };
48
+ type ReplicationInfoV2RemoteFullRearm = {
49
+ peerHash: string;
50
+ receiveEpoch: object | null;
51
+ receiverTransportSession: bigint;
52
+ nextAttemptAt: number;
53
+ outstandingAttempts: number;
54
+ inFlight?: Promise<void>;
55
+ controller?: AbortController;
56
+ };
48
57
  export type ReplicationInfoV2LocalCapabilityRefresh = {
49
58
  receiverTransportSession: bigint;
50
59
  requestNotBeforeMs: number;
@@ -99,6 +108,7 @@ export type ReplicationInfoV2ReceiveDeps = {
99
108
  peerSession: object;
100
109
  receiveEpoch: object | null;
101
110
  signal: AbortSignal;
111
+ requestRemoteFullRearm?: boolean;
102
112
  }) => Promise<ReplicationInfoV2LocalCapabilityRefresh | undefined>;
103
113
  onRequestError?: (error: unknown) => void;
104
114
  onLocalCapabilityError?: (error: unknown) => void;
@@ -106,6 +116,9 @@ export type ReplicationInfoV2ReceiveDeps = {
106
116
  requestRetryMs?: number;
107
117
  maxRequestRetryMs?: number;
108
118
  requestMaxAttempts?: number;
119
+ remoteFullRearmAttemptTimeoutMs?: number;
120
+ remoteFullRearmCooldownMs?: number;
121
+ maxRemoteFullRearmOutstandingGlobal?: number;
109
122
  };
110
123
  /**
111
124
  * Authenticated receive grants and sender-authoritative ordering for
@@ -127,11 +140,17 @@ export declare class ReplicationInfoV2ReceiveCoordinator {
127
140
  _localCapabilityReadyBySession: WeakMap<object, LocalCapabilityReady>;
128
141
  _localCapabilityContextBySession: WeakMap<object, ReplicationInfoV2LocalCapabilityContext>;
129
142
  _localCapabilityAdvertisementsByPeer: Map<string, ReplicationInfoV2LocalCapabilityAdvertisement>;
143
+ _remoteFullRearmBySession: WeakMap<object, ReplicationInfoV2RemoteFullRearm>;
144
+ _remoteFullRearmsInFlight: Set<ReplicationInfoV2RemoteFullRearm>;
145
+ _remoteFullRearmOutstanding: Set<object>;
130
146
  _reservedAdmissionsByPeer: Map<string, ReplicationInfoV2ReceiveAdmission>;
131
147
  private readonly now;
132
148
  private readonly requestRetryMs;
133
149
  private readonly maxRequestRetryMs;
134
150
  private readonly requestMaxAttempts;
151
+ private readonly remoteFullRearmAttemptTimeoutMs;
152
+ private readonly remoteFullRearmCooldownMs;
153
+ private readonly maxRemoteFullRearmOutstandingGlobal;
135
154
  constructor(deps: ReplicationInfoV2ReceiveDeps);
136
155
  resetForOpen(): void;
137
156
  clearForClose(): void;
@@ -158,6 +177,28 @@ export declare class ReplicationInfoV2ReceiveCoordinator {
158
177
  receiveEpoch: object | null;
159
178
  signal: AbortSignal;
160
179
  }): ReplicationInfoV2LocalCapabilityAdvertisementHandle;
180
+ /**
181
+ * Send one transient, authenticated rearm hint for the exact current local
182
+ * receive grant. The hint asks a patched remote receiver to rotate its
183
+ * challenge and issue another Full request, rebuilding an outbound sender
184
+ * stream that was lost while both directions otherwise remained current.
185
+ *
186
+ * This deliberately does not mutate the steady advertisement worker. One
187
+ * attempt is coalesced per exact PeerSession/receive generation and bound to
188
+ * its own deadline as well as the caller's signal. A cooldown avoids rotating
189
+ * a healthy in-flight challenge on every recovery tick. The remote rotates
190
+ * only when its receive state is active; later hints during resync only nudge
191
+ * that same bounded request generation. At most two transports that disregard
192
+ * abort remain outstanding for one exact session (64 across this coordinator's
193
+ * lifetime); reaching either cap stops new hints while the persisted-readiness
194
+ * gate remains fail closed.
195
+ */
196
+ reAdvertiseLocalCapabilityForRemoteFull(properties: {
197
+ peerHash: string;
198
+ peerSession: object;
199
+ receiveEpoch: object | null;
200
+ signal: AbortSignal;
201
+ }): boolean;
161
202
  private promoteLocalCapabilityAdvertisement;
162
203
  /**
163
204
  * Re-advertise one exact current recovery epoch from the stable membership
@@ -1 +1 @@
1
- {"version":3,"file":"replication-info-v2-receive.d.ts","sourceRoot":"","sources":["../../src/replication-info-v2-receive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replication-info-v2-receive.d.ts","sourceRoot":"","sources":["../../src/replication-info-v2-receive.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,11 @@ const REQUIRED_SENDER_CAPABILITIES = SYNC_CAPABILITY_REPLICATION_INFO_V2_DECODE
8
8
  const DEFAULT_REQUEST_RETRY_MS = 1_000;
9
9
  const DEFAULT_MAX_REQUEST_RETRY_MS = 30_000;
10
10
  const DEFAULT_REQUEST_MAX_ATTEMPTS = 7;
11
+ const DEFAULT_REMOTE_FULL_REARM_ATTEMPT_TIMEOUT_MS = 2_000;
12
+ const DEFAULT_REMOTE_FULL_REARM_COOLDOWN_MS = 5_000;
13
+ const MAX_REMOTE_FULL_REARM_OUTSTANDING_PER_SESSION = 2;
14
+ const MAX_REMOTE_FULL_REARM_OUTSTANDING_GLOBAL = 64;
15
+ const MAX_TIMER_MS = 2_147_483_647;
11
16
  const MAX_U64 = (1n << 64n) - 1n;
12
17
  const MAX_BACKOFF_EXPONENT = 20;
13
18
  const bytesEqual = (left, right) => {
@@ -55,22 +60,39 @@ export class ReplicationInfoV2ReceiveCoordinator {
55
60
  _localCapabilityReadyBySession;
56
61
  _localCapabilityContextBySession;
57
62
  _localCapabilityAdvertisementsByPeer;
63
+ _remoteFullRearmBySession;
64
+ _remoteFullRearmsInFlight;
65
+ _remoteFullRearmOutstanding;
58
66
  _reservedAdmissionsByPeer;
59
67
  now;
60
68
  requestRetryMs;
61
69
  maxRequestRetryMs;
62
70
  requestMaxAttempts;
71
+ remoteFullRearmAttemptTimeoutMs;
72
+ remoteFullRearmCooldownMs;
73
+ maxRemoteFullRearmOutstandingGlobal;
63
74
  constructor(deps) {
64
75
  this.deps = deps;
65
76
  this.now = deps.now ?? Date.now;
66
77
  this.requestRetryMs = Math.max(1, deps.requestRetryMs ?? DEFAULT_REQUEST_RETRY_MS);
67
78
  this.maxRequestRetryMs = Math.max(this.requestRetryMs, deps.maxRequestRetryMs ?? DEFAULT_MAX_REQUEST_RETRY_MS);
68
79
  this.requestMaxAttempts = Math.max(1, Math.floor(deps.requestMaxAttempts ?? DEFAULT_REQUEST_MAX_ATTEMPTS));
80
+ this.remoteFullRearmAttemptTimeoutMs = Math.max(1, Math.min(MAX_TIMER_MS, Math.floor(deps.remoteFullRearmAttemptTimeoutMs ??
81
+ DEFAULT_REMOTE_FULL_REARM_ATTEMPT_TIMEOUT_MS)));
82
+ this.remoteFullRearmCooldownMs = Math.max(this.requestRetryMs, Math.min(MAX_TIMER_MS, Math.floor(deps.remoteFullRearmCooldownMs ??
83
+ DEFAULT_REMOTE_FULL_REARM_COOLDOWN_MS)));
84
+ // The injected value is a test seam that may only tighten this lifetime
85
+ // resource bound, never widen it.
86
+ this.maxRemoteFullRearmOutstandingGlobal = Math.min(MAX_REMOTE_FULL_REARM_OUTSTANDING_GLOBAL, Math.max(1, Math.floor(deps.maxRemoteFullRearmOutstandingGlobal ??
87
+ MAX_REMOTE_FULL_REARM_OUTSTANDING_GLOBAL)));
69
88
  this._receiveStates = new Map();
70
89
  this._cutoverPeerSessions = new WeakSet();
71
90
  this._localCapabilityReadyBySession = new WeakMap();
72
91
  this._localCapabilityContextBySession = new WeakMap();
73
92
  this._localCapabilityAdvertisementsByPeer = new Map();
93
+ this._remoteFullRearmBySession = new WeakMap();
94
+ this._remoteFullRearmsInFlight = new Set();
95
+ this._remoteFullRearmOutstanding = new Set();
74
96
  this._reservedAdmissionsByPeer = new Map();
75
97
  }
76
98
  resetForOpen() {
@@ -80,9 +102,15 @@ export class ReplicationInfoV2ReceiveCoordinator {
80
102
  this._localCapabilityReadyBySession = new WeakMap();
81
103
  this._localCapabilityContextBySession = new WeakMap();
82
104
  this._localCapabilityAdvertisementsByPeer = new Map();
105
+ this._remoteFullRearmBySession = new WeakMap();
106
+ this._remoteFullRearmsInFlight = new Set();
83
107
  this._reservedAdmissionsByPeer = new Map();
84
108
  }
85
109
  clearForClose() {
110
+ for (const rearm of this._remoteFullRearmsInFlight ?? []) {
111
+ rearm.controller?.abort(new Error("Replication-info V2 receiver closed during remote Full rearm"));
112
+ }
113
+ this._remoteFullRearmsInFlight?.clear();
86
114
  for (const advertisement of [
87
115
  ...(this._localCapabilityAdvertisementsByPeer?.values() ?? []),
88
116
  ]) {
@@ -96,6 +124,7 @@ export class ReplicationInfoV2ReceiveCoordinator {
96
124
  this._cutoverPeerSessions = new WeakSet();
97
125
  this._localCapabilityReadyBySession = new WeakMap();
98
126
  this._localCapabilityContextBySession = new WeakMap();
127
+ this._remoteFullRearmBySession = new WeakMap();
99
128
  }
100
129
  clearPeer(peerHash, expectedSession) {
101
130
  const advertisement = this._localCapabilityAdvertisementsByPeer.get(peerHash);
@@ -110,6 +139,20 @@ export class ReplicationInfoV2ReceiveCoordinator {
110
139
  this._localCapabilityContextBySession.delete(state.peerSession);
111
140
  this._cutoverPeerSessions.delete(state.peerSession);
112
141
  }
142
+ if (!expectedSession) {
143
+ for (const rearm of this._remoteFullRearmsInFlight) {
144
+ if (rearm.peerHash === peerHash) {
145
+ rearm.controller?.abort(new Error("Replication-info V2 peer cleared during rearm"));
146
+ }
147
+ }
148
+ }
149
+ const rearmSession = expectedSession ?? state?.peerSession ?? advertisement?.peerSession;
150
+ if (rearmSession) {
151
+ this._remoteFullRearmBySession
152
+ .get(rearmSession)
153
+ ?.controller?.abort(new Error("Replication-info V2 peer session cleared during rearm"));
154
+ this._remoteFullRearmBySession.delete(rearmSession);
155
+ }
113
156
  if (expectedSession) {
114
157
  this._localCapabilityReadyBySession.delete(expectedSession);
115
158
  this._localCapabilityContextBySession.delete(expectedSession);
@@ -376,6 +419,166 @@ export class ReplicationInfoV2ReceiveCoordinator {
376
419
  firstAttempt,
377
420
  };
378
421
  }
422
+ /**
423
+ * Send one transient, authenticated rearm hint for the exact current local
424
+ * receive grant. The hint asks a patched remote receiver to rotate its
425
+ * challenge and issue another Full request, rebuilding an outbound sender
426
+ * stream that was lost while both directions otherwise remained current.
427
+ *
428
+ * This deliberately does not mutate the steady advertisement worker. One
429
+ * attempt is coalesced per exact PeerSession/receive generation and bound to
430
+ * its own deadline as well as the caller's signal. A cooldown avoids rotating
431
+ * a healthy in-flight challenge on every recovery tick. The remote rotates
432
+ * only when its receive state is active; later hints during resync only nudge
433
+ * that same bounded request generation. At most two transports that disregard
434
+ * abort remain outstanding for one exact session (64 across this coordinator's
435
+ * lifetime); reaching either cap stops new hints while the persisted-readiness
436
+ * gate remains fail closed.
437
+ */
438
+ reAdvertiseLocalCapabilityForRemoteFull(properties) {
439
+ const context = this._localCapabilityContextBySession.get(properties.peerSession);
440
+ const ready = this._localCapabilityReadyBySession.get(properties.peerSession);
441
+ if (properties.signal.aborted ||
442
+ !context ||
443
+ context.peerHash !== properties.peerHash ||
444
+ context.lifecycleSignal.aborted ||
445
+ this.deps.isClosed() ||
446
+ !this.deps.isPeerStateCurrent(properties.peerHash, properties.peerSession, properties.receiveEpoch) ||
447
+ !ready ||
448
+ ready.peerHash !== properties.peerHash ||
449
+ ready.receiveEpoch !== properties.receiveEpoch ||
450
+ ready.receiverTransportSession !== this.deps.getReceiverTransportSession()) {
451
+ return false;
452
+ }
453
+ const now = this.now();
454
+ const receiverTransportSession = ready.receiverTransportSession;
455
+ let rearm = this._remoteFullRearmBySession.get(properties.peerSession);
456
+ if (rearm &&
457
+ (rearm.peerHash !== properties.peerHash ||
458
+ rearm.receiveEpoch !== properties.receiveEpoch ||
459
+ rearm.receiverTransportSession !== receiverTransportSession)) {
460
+ rearm.controller?.abort(new Error("Replication-info V2 remote Full rearm generation changed"));
461
+ rearm = undefined;
462
+ }
463
+ if (rearm?.inFlight) {
464
+ return true;
465
+ }
466
+ if (rearm !== undefined && now < rearm.nextAttemptAt) {
467
+ return true;
468
+ }
469
+ if ((rearm?.outstandingAttempts ?? 0) >=
470
+ MAX_REMOTE_FULL_REARM_OUTSTANDING_PER_SESSION ||
471
+ this._remoteFullRearmOutstanding.size >=
472
+ this.maxRemoteFullRearmOutstandingGlobal) {
473
+ return true;
474
+ }
475
+ if (!rearm) {
476
+ rearm = {
477
+ peerHash: properties.peerHash,
478
+ receiveEpoch: properties.receiveEpoch,
479
+ receiverTransportSession,
480
+ nextAttemptAt: now + this.remoteFullRearmCooldownMs,
481
+ outstandingAttempts: 0,
482
+ };
483
+ this._remoteFullRearmBySession.set(properties.peerSession, rearm);
484
+ }
485
+ else {
486
+ rearm.nextAttemptAt = now + this.remoteFullRearmCooldownMs;
487
+ }
488
+ const attemptState = rearm;
489
+ const outstandingReservation = {};
490
+ attemptState.outstandingAttempts++;
491
+ this._remoteFullRearmOutstanding.add(outstandingReservation);
492
+ const attemptController = new AbortController();
493
+ const operationSignal = attemptController.signal;
494
+ attemptState.controller = attemptController;
495
+ this._remoteFullRearmsInFlight.add(attemptState);
496
+ const sourceSignals = Array.from(new Set([context.lifecycleSignal, properties.signal]));
497
+ const onSourceAbort = (event) => {
498
+ const source = event.currentTarget;
499
+ attemptController.abort(source.reason);
500
+ };
501
+ for (const source of sourceSignals) {
502
+ source.addEventListener("abort", onSourceAbort, { once: true });
503
+ }
504
+ const attemptTimer = setTimeout(() => attemptController.abort(new Error("Replication-info V2 remote Full rearm attempt timed out")), this.remoteFullRearmAttemptTimeoutMs);
505
+ attemptTimer.unref?.();
506
+ let releasedOutstanding = false;
507
+ const releaseOutstanding = () => {
508
+ if (releasedOutstanding)
509
+ return;
510
+ releasedOutstanding = true;
511
+ this._remoteFullRearmOutstanding.delete(outstandingReservation);
512
+ attemptState.outstandingAttempts--;
513
+ };
514
+ const refresh = Promise.resolve().then(() => {
515
+ if (operationSignal.aborted) {
516
+ throw operationSignal.reason;
517
+ }
518
+ return this.deps.refreshLocalCapability({
519
+ peerHash: properties.peerHash,
520
+ target: context.target,
521
+ peerSession: properties.peerSession,
522
+ receiveEpoch: properties.receiveEpoch,
523
+ signal: operationSignal,
524
+ requestRemoteFullRearm: true,
525
+ });
526
+ });
527
+ void refresh.then(releaseOutstanding, releaseOutstanding);
528
+ let operation;
529
+ const detach = () => {
530
+ clearTimeout(attemptTimer);
531
+ operationSignal.removeEventListener("abort", detach);
532
+ for (const source of sourceSignals) {
533
+ source.removeEventListener("abort", onSourceAbort);
534
+ }
535
+ if (attemptState.inFlight === operation) {
536
+ this._remoteFullRearmsInFlight.delete(attemptState);
537
+ attemptState.inFlight = undefined;
538
+ attemptState.controller = undefined;
539
+ }
540
+ };
541
+ const raceWithAttemptSignal = (promise) => new Promise((resolve, reject) => {
542
+ const onAbort = () => {
543
+ operationSignal.removeEventListener("abort", onAbort);
544
+ reject(operationSignal.reason);
545
+ };
546
+ operationSignal.addEventListener("abort", onAbort, { once: true });
547
+ if (operationSignal.aborted) {
548
+ onAbort();
549
+ return;
550
+ }
551
+ promise.then((value) => {
552
+ operationSignal.removeEventListener("abort", onAbort);
553
+ resolve(value);
554
+ }, (error) => {
555
+ operationSignal.removeEventListener("abort", onAbort);
556
+ reject(error);
557
+ });
558
+ });
559
+ operation = raceWithAttemptSignal(refresh)
560
+ .then(() => undefined)
561
+ .catch((error) => {
562
+ if (!operationSignal.aborted &&
563
+ !this.deps.isClosed() &&
564
+ this.deps.isPeerStateCurrent(properties.peerHash, properties.peerSession, properties.receiveEpoch)) {
565
+ this.deps.onLocalCapabilityError?.(error);
566
+ }
567
+ })
568
+ .finally(() => {
569
+ detach();
570
+ });
571
+ attemptState.inFlight = operation;
572
+ operationSignal.addEventListener("abort", detach, { once: true });
573
+ for (const source of sourceSignals) {
574
+ if (source.aborted) {
575
+ attemptController.abort(source.reason);
576
+ break;
577
+ }
578
+ }
579
+ void operation;
580
+ return true;
581
+ }
379
582
  promoteLocalCapabilityAdvertisement(state) {
380
583
  const ready = state.acknowledgedReady;
381
584
  if (state.ready ||
@@ -1 +1 @@
1
- {"version":3,"file":"replication-info-v2-receive.js","sourceRoot":"","sources":["../../src/replication-info-v2-receive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replication-info-v2-receive.js","sourceRoot":"","sources":["../../src/replication-info-v2-receive.ts"],"names":[],"mappings":"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"}
@@ -139,6 +139,12 @@ export declare class ReplicationInfoV2SendCoordinator<R extends "u32" | "u64"> {
139
139
  * revision must already have crossed the receiver's durable V2 apply lane.
140
140
  */
141
141
  isLatestConfirmedForPeer(target: ApplicationConfirmationTarget): boolean;
142
+ /**
143
+ * Whether the exact current destination generation already has an outbound
144
+ * V2 stream. A missing/stale stream cannot be repaired by confirmation
145
+ * retries alone: the remote receiver must issue another Full request first.
146
+ */
147
+ hasCurrentStateForPeer(target: ApplicationConfirmationTarget): boolean;
142
148
  private trackRetiringWorker;
143
149
  private isDestinationCurrent;
144
150
  private isDestinationReady;
@@ -1 +1 @@
1
- {"version":3,"file":"replication-info-v2-send.d.ts","sourceRoot":"","sources":["../../src/replication-info-v2-send.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replication-info-v2-send.d.ts","sourceRoot":"","sources":["../../src/replication-info-v2-send.ts"],"names":[],"mappings":"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"}
@@ -339,6 +339,19 @@ export class ReplicationInfoV2SendCoordinator {
339
339
  this.isCurrent(state) &&
340
340
  this.supportsApplicationConfirmation(state));
341
341
  }
342
+ /**
343
+ * Whether the exact current destination generation already has an outbound
344
+ * V2 stream. A missing/stale stream cannot be repaired by confirmation
345
+ * retries alone: the remote receiver must issue another Full request first.
346
+ */
347
+ hasCurrentStateForPeer(target) {
348
+ const state = this._sendStates.get(target.peerHash);
349
+ return (state !== undefined &&
350
+ state.peerSession === target.peerSession &&
351
+ state.receiverTransportSession === target.receiverTransportSession &&
352
+ this.isCurrent(state) &&
353
+ this.supportsApplicationConfirmation(state));
354
+ }
342
355
  trackRetiringWorker(state) {
343
356
  const worker = state.worker;
344
357
  if (!worker) {