@peerbit/pubsub 5.3.0 → 5.3.2

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.
@@ -543,6 +543,8 @@ export declare class FanoutTree extends DirectStream<FanoutTreeEvents> {
543
543
  private channelsBySuffixKey;
544
544
  private readonly cachedSuffixKey;
545
545
  private readonly metricsBySuffixKey;
546
+ private readonly joinTimeoutStreakByPeer;
547
+ private readonly joinResetCooldownUntilByPeer;
546
548
  private bootstraps;
547
549
  private trackerBySuffixKey;
548
550
  private trackerNamespaceLru;
@@ -703,6 +705,8 @@ export declare class FanoutTree extends DirectStream<FanoutTreeEvents> {
703
705
  private recordControlReceive;
704
706
  private markCached;
705
707
  private getCached;
708
+ private noteJoinResponse;
709
+ private noteJoinTimeout;
706
710
  private _sendControl;
707
711
  private _sendControlMany;
708
712
  private refillUploadTokens;
@@ -1 +1 @@
1
- {"version":3,"file":"fanout-tree.d.ts","sourceRoot":"","sources":["../../src/fanout-tree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fanout-tree.d.ts","sourceRoot":"","sources":["../../src/fanout-tree.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,11 @@ const PARENT_REPAIR_DEAD_STREAK_THRESHOLD = 16;
45
45
  const PARENT_REPAIR_DEAD_MIN_LIVENESS_MS = 15_000;
46
46
  const REPAIR_RETRY_MIN_MS = 1_000;
47
47
  const REPAIR_RETRY_INTERVAL_FACTOR = 5;
48
+ // A stream can remain locally readable/writable while silently dropping every
49
+ // control frame. Repeated unanswered JOIN requests are end-to-end evidence that
50
+ // the peer path needs to be rebuilt.
51
+ const JOIN_TIMEOUT_RESET_STREAK_THRESHOLD = 3;
52
+ const JOIN_TIMEOUT_RESET_COOLDOWN_MS = 10_000;
48
53
  const JOIN_REJECT_REDIRECT_QUEUE_MAX = 64;
49
54
  // When a relay loses its parent, pause before trying to rejoin so its children can
50
55
  // attach elsewhere (helps avoid disconnected components stabilizing).
@@ -97,6 +102,7 @@ const createEmptyMetrics = () => ({
97
102
  joinAcceptReceived: 0,
98
103
  joinRejectSent: 0,
99
104
  joinRejectReceived: 0,
105
+ joinPeerResets: 0,
100
106
  kickSent: 0,
101
107
  kickReceived: 0,
102
108
  reparentDisconnect: 0,
@@ -179,6 +185,8 @@ export class FanoutTree extends DirectStream {
179
185
  channelsBySuffixKey = new Map();
180
186
  cachedSuffixKey = new WeakMap();
181
187
  metricsBySuffixKey = new Map();
188
+ joinTimeoutStreakByPeer = new Map();
189
+ joinResetCooldownUntilByPeer = new Map();
182
190
  bootstraps = [];
183
191
  trackerBySuffixKey = new Map();
184
192
  trackerNamespaceLru = new Map();
@@ -238,6 +246,8 @@ export class FanoutTree extends DirectStream {
238
246
  this.components.events.removeEventListener("peer:disconnect", this.underlayPeerDisconnectHandler);
239
247
  this.underlayPeerDisconnectHandler = undefined;
240
248
  }
249
+ this.joinTimeoutStreakByPeer.clear();
250
+ this.joinResetCooldownUntilByPeer.clear();
241
251
  return super.stop();
242
252
  }
243
253
  setBootstraps(addrs) {
@@ -1112,6 +1122,7 @@ export class FanoutTree extends DirectStream {
1112
1122
  onPeerDisconnectedFromUnderlay(peerHash) {
1113
1123
  if (!peerHash)
1114
1124
  return;
1125
+ this.joinTimeoutStreakByPeer.delete(peerHash);
1115
1126
  // Detach from a disconnected parent immediately, so children can rejoin.
1116
1127
  // This is more reliable than polling `getConnections()` because the underlay
1117
1128
  // can flap/reconnect faster than the join loop cadence.
@@ -1279,11 +1290,23 @@ export class FanoutTree extends DirectStream {
1279
1290
  if (!ch.joinedOnce)
1280
1291
  ch.joinedOnce = createDeferred();
1281
1292
  if (!ch.joinLoop) {
1282
- ch.joinLoop = this._joinLoop(ch, joinOpts).catch((err) => {
1293
+ const joinedOnce = ch.joinedOnce;
1294
+ const joinLoop = this._joinLoop(ch, joinOpts)
1295
+ .catch((err) => {
1283
1296
  // Surface join errors to the caller without crashing the process
1284
1297
  // via an unhandled rejection (joinLoop is not generally awaited).
1285
- ch.joinedOnce?.reject(err);
1298
+ if (ch.joinLoop === joinLoop)
1299
+ ch.joinLoop = undefined;
1300
+ if (ch.joinedOnce === joinedOnce && !ch.joinedAtLeastOnce) {
1301
+ ch.joinedOnce = undefined;
1302
+ }
1303
+ joinedOnce.reject(err);
1304
+ })
1305
+ .finally(() => {
1306
+ if (ch.joinLoop === joinLoop)
1307
+ ch.joinLoop = undefined;
1286
1308
  });
1309
+ ch.joinLoop = joinLoop;
1287
1310
  }
1288
1311
  return ch.joinedOnce.promise;
1289
1312
  }
@@ -2336,6 +2359,38 @@ export class FanoutTree extends DirectStream {
2336
2359
  return;
2337
2360
  return ch.cachePayloads[idx];
2338
2361
  }
2362
+ noteJoinResponse(peerHash) {
2363
+ this.joinTimeoutStreakByPeer.delete(peerHash);
2364
+ }
2365
+ noteJoinTimeout(ch, peerHash) {
2366
+ const streak = (this.joinTimeoutStreakByPeer.get(peerHash) ?? 0) + 1;
2367
+ if (streak < JOIN_TIMEOUT_RESET_STREAK_THRESHOLD) {
2368
+ this.joinTimeoutStreakByPeer.set(peerHash, streak);
2369
+ return;
2370
+ }
2371
+ this.joinTimeoutStreakByPeer.delete(peerHash);
2372
+ const now = Date.now();
2373
+ for (const [hash, until] of this.joinResetCooldownUntilByPeer) {
2374
+ if (until <= now)
2375
+ this.joinResetCooldownUntilByPeer.delete(hash);
2376
+ }
2377
+ const resetCooldownUntil = this.joinResetCooldownUntilByPeer.get(peerHash) ?? 0;
2378
+ if (resetCooldownUntil > now)
2379
+ return;
2380
+ const stream = this.peers.get(peerHash);
2381
+ if (!stream)
2382
+ return;
2383
+ this.joinResetCooldownUntilByPeer.set(peerHash, now + JOIN_TIMEOUT_RESET_COOLDOWN_MS);
2384
+ ch.metrics.joinPeerResets += 1;
2385
+ try {
2386
+ void this.components.connectionManager
2387
+ .closeConnections(stream.peerId)
2388
+ .catch(() => { });
2389
+ }
2390
+ catch {
2391
+ // Best-effort reset. The join loop keeps retrying other candidates.
2392
+ }
2393
+ }
2339
2394
  async _sendControl(to, bytes) {
2340
2395
  const stream = this.peers.get(to);
2341
2396
  if (!stream)
@@ -2349,18 +2404,18 @@ export class FanoutTree extends DirectStream {
2349
2404
  }
2350
2405
  async _sendControlMany(to, bytes) {
2351
2406
  if (to.length === 0)
2352
- return;
2407
+ return true;
2353
2408
  const streams = to
2354
2409
  .map((t) => this.peers.get(t))
2355
2410
  .filter((s) => Boolean(s));
2356
2411
  if (streams.length === 0)
2357
- return;
2412
+ return false;
2358
2413
  this.recordControlSend(bytes, streams.length);
2359
2414
  const message = await this.createMessage(bytes, {
2360
2415
  mode: new AnyWhere(),
2361
2416
  priority: CONTROL_PRIORITY,
2362
2417
  });
2363
- await this.publishMessageMaybe(this.publicKey, message, streams);
2418
+ return this.publishMessageMaybe(this.publicKey, message, streams);
2364
2419
  }
2365
2420
  refillUploadTokens(ch, now = Date.now()) {
2366
2421
  if (ch.uploadLimitBps <= 0)
@@ -3886,7 +3941,7 @@ export class FanoutTree extends DirectStream {
3886
3941
  const bootstrapHint = bootstrapsCount === 0 && !rootNeighbor
3887
3942
  ? " No fanout bootstraps are configured for this channel, and the root is not a direct neighbor. If this peer reached the network via a bootstrap or relay node, initialize it with Peerbit.bootstrap(...) instead of Peerbit.dial(...), or configure FanoutTree.setBootstraps(...) before joining sharded topics."
3888
3943
  : "";
3889
- throw new Error(`fanout join timed out after ${timeoutMs}ms (topic=${ch.id.topic} root=${ch.id.root} self=${this.publicKeyHash} rootNeighbor=${rootNeighbor} peers=${this.peers.size} bootstraps=${bootstrapsCount}).${bootstrapHint}`);
3944
+ throw new Error(`fanout join timed out after ${timeoutMs}ms (topic=${ch.id.topic} root=${ch.id.root} self=${this.publicKeyHash} rootNeighbor=${rootNeighbor} peers=${this.peers.size} bootstraps=${bootstrapsCount} joinReqSent=${ch.metrics.joinReqSent} joinAcceptReceived=${ch.metrics.joinAcceptReceived} joinRejectReceived=${ch.metrics.joinRejectReceived} peerResets=${ch.metrics.joinPeerResets}).${bootstrapHint}`);
3890
3945
  }
3891
3946
  const cooldownMs = ch.rejoinCooldownUntil - Date.now();
3892
3947
  if (cooldownMs > 0) {
@@ -4207,6 +4262,7 @@ export class FanoutTree extends DirectStream {
4207
4262
  }
4208
4263
  }
4209
4264
  if (res.timedOut) {
4265
+ this.noteJoinTimeout(ch, c.hash);
4210
4266
  try {
4211
4267
  await this.sendTrackerFeedback(ch, bootstrapPeers, c.hash, TRACKER_FEEDBACK_JOIN_TIMEOUT);
4212
4268
  }
@@ -5185,7 +5241,8 @@ export class FanoutTree extends DirectStream {
5185
5241
  const resetPeerConnections = options?.resetPeerConnections === true;
5186
5242
  let kickFailed = false;
5187
5243
  try {
5188
- await this._sendControlMany(unique, this.codec.encodeKick(ch.id.key));
5244
+ const kickDelivered = await this._sendControlMany(unique, this.codec.encodeKick(ch.id.key));
5245
+ kickFailed = !kickDelivered;
5189
5246
  }
5190
5247
  catch (error) {
5191
5248
  kickFailed = true;
@@ -5875,6 +5932,8 @@ export class FanoutTree extends DirectStream {
5875
5932
  const reqId = this.codec.decodeJoinResponseReqId(data);
5876
5933
  if (reqId == null)
5877
5934
  return false;
5935
+ // Any explicit join response proves this path is alive end to end.
5936
+ this.noteJoinResponse(fromHash);
5878
5937
  const pending = ch.pendingJoin.get(reqId);
5879
5938
  if (!pending)
5880
5939
  return true;