@peerbit/shared-log 12.1.3 → 12.2.0-3333888

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.
Files changed (40) hide show
  1. package/dist/benchmark/pid-convergence.d.ts +2 -0
  2. package/dist/benchmark/pid-convergence.d.ts.map +1 -0
  3. package/dist/benchmark/pid-convergence.js +138 -0
  4. package/dist/benchmark/pid-convergence.js.map +1 -0
  5. package/dist/benchmark/rateless-iblt-sender-startsync.d.ts +2 -0
  6. package/dist/benchmark/rateless-iblt-sender-startsync.d.ts.map +1 -0
  7. package/dist/benchmark/rateless-iblt-sender-startsync.js +104 -0
  8. package/dist/benchmark/rateless-iblt-sender-startsync.js.map +1 -0
  9. package/dist/benchmark/rateless-iblt-startsync-cache.d.ts +2 -0
  10. package/dist/benchmark/rateless-iblt-startsync-cache.d.ts.map +1 -0
  11. package/dist/benchmark/rateless-iblt-startsync-cache.js +112 -0
  12. package/dist/benchmark/rateless-iblt-startsync-cache.js.map +1 -0
  13. package/dist/benchmark/sync-catchup.d.ts +3 -0
  14. package/dist/benchmark/sync-catchup.d.ts.map +1 -0
  15. package/dist/benchmark/sync-catchup.js +109 -0
  16. package/dist/benchmark/sync-catchup.js.map +1 -0
  17. package/dist/src/index.d.ts +10 -3
  18. package/dist/src/index.d.ts.map +1 -1
  19. package/dist/src/index.js +66 -32
  20. package/dist/src/index.js.map +1 -1
  21. package/dist/src/like.d.ts +71 -0
  22. package/dist/src/like.d.ts.map +1 -0
  23. package/dist/src/like.js +2 -0
  24. package/dist/src/like.js.map +1 -0
  25. package/dist/src/sync/index.d.ts +14 -0
  26. package/dist/src/sync/index.d.ts.map +1 -1
  27. package/dist/src/sync/rateless-iblt.d.ts +14 -22
  28. package/dist/src/sync/rateless-iblt.d.ts.map +1 -1
  29. package/dist/src/sync/rateless-iblt.js +139 -22
  30. package/dist/src/sync/rateless-iblt.js.map +1 -1
  31. package/dist/src/sync/simple.d.ts +3 -1
  32. package/dist/src/sync/simple.d.ts.map +1 -1
  33. package/dist/src/sync/simple.js +24 -2
  34. package/dist/src/sync/simple.js.map +1 -1
  35. package/package.json +20 -20
  36. package/src/index.ts +95 -37
  37. package/src/like.ts +84 -0
  38. package/src/sync/index.ts +19 -0
  39. package/src/sync/rateless-iblt.ts +193 -40
  40. package/src/sync/simple.ts +26 -3
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -169,10 +169,17 @@ const createIndexableDomainFromResolution = (resolution) => {
169
169
  export const DEFAULT_MIN_REPLICAS = 2;
170
170
  export const WAIT_FOR_REPLICATOR_TIMEOUT = 9000;
171
171
  export const WAIT_FOR_ROLE_MATURITY = 5000;
172
- export const WAIT_FOR_PRUNE_DELAY = 5000;
172
+ // TODO(prune): Investigate if/when a non-zero prune delay is required for correctness
173
+ // (e.g. responsibility/replication-info message reordering in multi-peer scenarios).
174
+ // Prefer making pruning robust without timing-based heuristics.
175
+ export const WAIT_FOR_PRUNE_DELAY = 0;
173
176
  const PRUNE_DEBOUNCE_INTERVAL = 500;
174
177
  // DONT SET THIS ANY LOWER, because it will make the pid controller unstable as the system responses are not fast enough to updates from the pid controller
175
178
  const RECALCULATE_PARTICIPATION_DEBOUNCE_INTERVAL = 1000;
179
+ const RECALCULATE_PARTICIPATION_MIN_RELATIVE_CHANGE = 0.01;
180
+ const RECALCULATE_PARTICIPATION_MIN_RELATIVE_CHANGE_WITH_CPU_LIMIT = 0.005;
181
+ const RECALCULATE_PARTICIPATION_MIN_RELATIVE_CHANGE_WITH_MEMORY_LIMIT = 0.001;
182
+ const RECALCULATE_PARTICIPATION_RELATIVE_DENOMINATOR_FLOOR = 1e-3;
176
183
  const DEFAULT_DISTRIBUTION_DEBOUNCE_TIME = 500;
177
184
  const getIdForDynamicRange = (publicKey) => {
178
185
  return sha256Sync(concat([publicKey.bytes, new TextEncoder().encode("dynamic")]));
@@ -296,14 +303,6 @@ let SharedLog = (() => {
296
303
  }
297
304
  setupRebalanceDebounceFunction(interval = RECALCULATE_PARTICIPATION_DEBOUNCE_INTERVAL) {
298
305
  this.rebalanceParticipationDebounced = undefined;
299
- // make the rebalancing to respect warmup time
300
- let intervalTime = interval * 2;
301
- let timeout = setTimeout(() => {
302
- intervalTime = interval;
303
- }, this.timeUntilRoleMaturity);
304
- this._closeController.signal.addEventListener("abort", () => {
305
- clearTimeout(timeout);
306
- });
307
306
  this.rebalanceParticipationDebounced = debounceFixedInterval(() => this.rebalanceParticipation(),
308
307
  /* Math.max(
309
308
  REBALANCE_DEBOUNCE_INTERVAL,
@@ -312,7 +311,7 @@ let SharedLog = (() => {
312
311
  REBALANCE_DEBOUNCE_INTERVAL
313
312
  )
314
313
  ) */
315
- () => intervalTime);
314
+ interval);
316
315
  }
317
316
  async _replicate(options, { reset, checkDuplicates, announce, mergeSegments, rebalance, } = {}) {
318
317
  let offsetWasProvided = false;
@@ -716,16 +715,18 @@ let SharedLog = (() => {
716
715
  existing.push(result.value);
717
716
  }
718
717
  }
718
+ let prevCountForOwner = undefined;
719
719
  if (existing.length === 0) {
720
- let prevCount = await this.replicationIndex.count({
720
+ prevCountForOwner = await this.replicationIndex.count({
721
721
  query: new StringMatch({ key: "hash", value: from.hashcode() }),
722
722
  });
723
- isNewReplicator = prevCount === 0;
723
+ isNewReplicator = prevCountForOwner === 0;
724
724
  }
725
725
  else {
726
726
  isNewReplicator = false;
727
727
  }
728
- if (checkDuplicates) {
728
+ if (checkDuplicates &&
729
+ (existing.length > 0 || (prevCountForOwner ?? 0) > 0)) {
729
730
  let deduplicated = [];
730
731
  // TODO also deduplicate/de-overlap among the ranges that ought to be inserted?
731
732
  for (const range of ranges) {
@@ -1259,8 +1260,8 @@ let SharedLog = (() => {
1259
1260
  this.timeUntilRoleMaturity =
1260
1261
  options?.timeUntilRoleMaturity ?? WAIT_FOR_ROLE_MATURITY;
1261
1262
  this.waitForReplicatorTimeout =
1262
- options?.waitForReplicatorTimeout || WAIT_FOR_REPLICATOR_TIMEOUT;
1263
- this.waitForPruneDelay = options?.waitForPruneDelay || WAIT_FOR_PRUNE_DELAY;
1263
+ options?.waitForReplicatorTimeout ?? WAIT_FOR_REPLICATOR_TIMEOUT;
1264
+ this.waitForPruneDelay = options?.waitForPruneDelay ?? WAIT_FOR_PRUNE_DELAY;
1264
1265
  if (this.waitForReplicatorTimeout < this.timeUntilRoleMaturity) {
1265
1266
  this.waitForReplicatorTimeout = this.timeUntilRoleMaturity; // does not makes sense to expect a replicator to mature faster than it is reachable
1266
1267
  }
@@ -1380,6 +1381,7 @@ let SharedLog = (() => {
1380
1381
  rangeIndex: this._replicationRangeIndex,
1381
1382
  rpc: this.rpc,
1382
1383
  coordinateToHash: this.coordinateToHash,
1384
+ sync: options?.sync,
1383
1385
  });
1384
1386
  }
1385
1387
  else {
@@ -1390,6 +1392,7 @@ let SharedLog = (() => {
1390
1392
  rpc: this.rpc,
1391
1393
  entryIndex: this.entryCoordinatesIndex,
1392
1394
  coordinateToHash: this.coordinateToHash,
1395
+ sync: options?.sync,
1393
1396
  });
1394
1397
  }
1395
1398
  else {
@@ -1403,6 +1406,7 @@ let SharedLog = (() => {
1403
1406
  rangeIndex: this._replicationRangeIndex,
1404
1407
  rpc: this.rpc,
1405
1408
  coordinateToHash: this.coordinateToHash,
1409
+ sync: options?.sync,
1406
1410
  });
1407
1411
  }
1408
1412
  }
@@ -1628,13 +1632,29 @@ let SharedLog = (() => {
1628
1632
  set.add(key);
1629
1633
  }
1630
1634
  if (options?.reachableOnly) {
1631
- let reachableSet = [];
1635
+ // Prefer the live pubsub subscriber set when filtering reachability.
1636
+ // `uniqueReplicators` is primarily driven by replication messages and can lag during
1637
+ // joins/restarts; using subscribers prevents excluding peers that are reachable but
1638
+ // whose replication ranges were loaded from disk or haven't been processed yet.
1639
+ const subscribers = (await this.node.services.pubsub.getSubscribers(this.topic)) ??
1640
+ undefined;
1641
+ const subscriberHashcodes = subscribers
1642
+ ? new Set(subscribers.map((key) => key.hashcode()))
1643
+ : undefined;
1644
+ const reachable = [];
1645
+ const selfHash = this.node.identity.publicKey.hashcode();
1632
1646
  for (const peer of set) {
1633
- if (this.uniqueReplicators.has(peer)) {
1634
- reachableSet.push(peer);
1647
+ if (peer === selfHash) {
1648
+ reachable.push(peer);
1649
+ continue;
1650
+ }
1651
+ if (subscriberHashcodes
1652
+ ? subscriberHashcodes.has(peer)
1653
+ : this.uniqueReplicators.has(peer)) {
1654
+ reachable.push(peer);
1635
1655
  }
1636
1656
  }
1637
- return reachableSet;
1657
+ return reachable;
1638
1658
  }
1639
1659
  return [...set];
1640
1660
  }
@@ -2178,15 +2198,17 @@ let SharedLog = (() => {
2178
2198
  }
2179
2199
  async join(entries, options) {
2180
2200
  let entriesToReplicate = [];
2181
- if (options?.replicate) {
2201
+ if (options?.replicate && this.log.length > 0) {
2182
2202
  // TODO this block should perhaps be called from a callback on the this.log.join method on all the ignored element because already joined, like "onAlreadyJoined"
2183
2203
  // check which entrise we already have but not are replicating, and replicate them
2184
2204
  // we can not just do the 'join' call because it will ignore the already joined entries
2185
2205
  for (const element of entries) {
2186
2206
  if (typeof element === "string") {
2187
- const entry = await this.log.get(element);
2188
- if (entry) {
2189
- entriesToReplicate.push(entry);
2207
+ if (await this.log.has(element)) {
2208
+ const entry = await this.log.get(element);
2209
+ if (entry) {
2210
+ entriesToReplicate.push(entry);
2211
+ }
2190
2212
  }
2191
2213
  }
2192
2214
  else if (element instanceof Entry) {
@@ -2195,9 +2217,11 @@ let SharedLog = (() => {
2195
2217
  }
2196
2218
  }
2197
2219
  else {
2198
- const entry = await this.log.get(element.hash);
2199
- if (entry) {
2200
- entriesToReplicate.push(entry);
2220
+ if (await this.log.has(element.hash)) {
2221
+ const entry = await this.log.get(element.hash);
2222
+ if (entry) {
2223
+ entriesToReplicate.push(entry);
2224
+ }
2201
2225
  }
2202
2226
  }
2203
2227
  }
@@ -2575,7 +2599,7 @@ let SharedLog = (() => {
2575
2599
  for (const [k, v] of this._requestIPruneResponseReplicatorSet) {
2576
2600
  v.delete(publicKey.hashcode());
2577
2601
  if (v.size === 0) {
2578
- this._requestIPruneSent.delete(k);
2602
+ this._requestIPruneResponseReplicatorSet.delete(k);
2579
2603
  }
2580
2604
  }
2581
2605
  this.syncronizer.onPeerDisconnected(publicKey);
@@ -2835,8 +2859,8 @@ let SharedLog = (() => {
2835
2859
  return { range: x, type: "added", timestamp };
2836
2860
  }));
2837
2861
  }
2838
- async waitForPruned() {
2839
- await waitFor(() => this._pendingDeletes.size === 0);
2862
+ async waitForPruned(options) {
2863
+ await waitFor(() => this._pendingDeletes.size === 0, options);
2840
2864
  }
2841
2865
  async onReplicationChange(changeOrChanges) {
2842
2866
  /**
@@ -2953,9 +2977,19 @@ let SharedLog = (() => {
2953
2977
  peerCount: peersSize,
2954
2978
  cpuUsage: this.cpuUsage?.value(),
2955
2979
  });
2956
- const relativeDifference = Math.abs(dynamicRange.widthNormalized - newFactor) /
2957
- dynamicRange.widthNormalized;
2958
- if (relativeDifference > 0.0001) {
2980
+ const absoluteDifference = Math.abs(dynamicRange.widthNormalized - newFactor);
2981
+ const relativeDifference = absoluteDifference /
2982
+ Math.max(dynamicRange.widthNormalized, RECALCULATE_PARTICIPATION_RELATIVE_DENOMINATOR_FLOOR);
2983
+ let minRelativeChange = RECALCULATE_PARTICIPATION_MIN_RELATIVE_CHANGE;
2984
+ if (this.replicationController.maxMemoryLimit != null) {
2985
+ minRelativeChange =
2986
+ RECALCULATE_PARTICIPATION_MIN_RELATIVE_CHANGE_WITH_MEMORY_LIMIT;
2987
+ }
2988
+ else if (this.replicationController.maxCPUUsage != null) {
2989
+ minRelativeChange =
2990
+ RECALCULATE_PARTICIPATION_MIN_RELATIVE_CHANGE_WITH_CPU_LIMIT;
2991
+ }
2992
+ if (relativeDifference > minRelativeChange) {
2959
2993
  // TODO can not reuse old range, since it will (potentially) affect the index because of sideeffects
2960
2994
  dynamicRange = new this.indexableDomain.constructorRange({
2961
2995
  offset: dynamicRange.start1,