@peerbit/shared-log 13.0.22 → 13.0.24
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 +5 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +210 -94
- package/dist/src/index.js.map +1 -1
- package/package.json +11 -11
- package/src/index.ts +280 -134
package/dist/src/index.d.ts
CHANGED
|
@@ -213,6 +213,7 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
|
|
|
213
213
|
private _repairSweepRunning;
|
|
214
214
|
private _repairSweepForceFreshPending;
|
|
215
215
|
private _repairSweepAddedPeersPending;
|
|
216
|
+
private _topicSubscribersCache;
|
|
216
217
|
private distributeQueue?;
|
|
217
218
|
syncronizer: Syncronizer<R>;
|
|
218
219
|
replicas: ReplicationLimits;
|
|
@@ -254,6 +255,8 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
|
|
|
254
255
|
private _appendDeliverToAllFanout;
|
|
255
256
|
private _resolvePublicKeyFromHash;
|
|
256
257
|
private _getTopicSubscribers;
|
|
258
|
+
private invalidateTopicSubscribersCache;
|
|
259
|
+
private invalidateSharedLogTopicSubscribersCache;
|
|
257
260
|
private getRole;
|
|
258
261
|
isReplicating(): Promise<boolean>;
|
|
259
262
|
private setupRebalanceDebounceFunction;
|
|
@@ -391,6 +394,7 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
|
|
|
391
394
|
getDefaultMinRoleAge(): Promise<number>;
|
|
392
395
|
findLeaders(cursors: NumberFromType<R>[], entry: Entry<T> | EntryReplicated<R> | ShallowEntry, options?: {
|
|
393
396
|
roleAge?: number;
|
|
397
|
+
candidates?: Iterable<string>;
|
|
394
398
|
onLeader?: (key: string) => void;
|
|
395
399
|
persist?: {
|
|
396
400
|
prev?: EntryReplicated<R>;
|
|
@@ -403,6 +407,7 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
|
|
|
403
407
|
replicas: number;
|
|
404
408
|
}, options?: {
|
|
405
409
|
roleAge?: number;
|
|
410
|
+
candidates?: Iterable<string>;
|
|
406
411
|
onLeader?: (key: string) => void;
|
|
407
412
|
persist?: {
|
|
408
413
|
prev?: EntryReplicated<R>;
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -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
|
@@ -246,6 +246,7 @@ const RECALCULATE_PARTICIPATION_MIN_RELATIVE_CHANGE = 0.01;
|
|
|
246
246
|
const RECALCULATE_PARTICIPATION_MIN_RELATIVE_CHANGE_WITH_CPU_LIMIT = 0.005;
|
|
247
247
|
const RECALCULATE_PARTICIPATION_MIN_RELATIVE_CHANGE_WITH_MEMORY_LIMIT = 0.001;
|
|
248
248
|
const RECALCULATE_PARTICIPATION_RELATIVE_DENOMINATOR_FLOOR = 1e-3;
|
|
249
|
+
const TOPIC_SUBSCRIBERS_CACHE_TTL_MS = 250;
|
|
249
250
|
const ADAPTIVE_REBALANCE_IDLE_INTERVAL_MULTIPLIER = 5;
|
|
250
251
|
const ADAPTIVE_REBALANCE_MIN_IDLE_AFTER_LOCAL_APPEND_MS = 10_000;
|
|
251
252
|
const DEFAULT_DISTRIBUTION_DEBOUNCE_TIME = 500;
|
|
@@ -376,6 +377,7 @@ let SharedLog = (() => {
|
|
|
376
377
|
_repairSweepRunning;
|
|
377
378
|
_repairSweepForceFreshPending;
|
|
378
379
|
_repairSweepAddedPeersPending;
|
|
380
|
+
_topicSubscribersCache;
|
|
379
381
|
// regular distribution checks
|
|
380
382
|
distributeQueue;
|
|
381
383
|
syncronizer;
|
|
@@ -858,14 +860,25 @@ let SharedLog = (() => {
|
|
|
858
860
|
this.node.services.pubsub.getPublicKey(hash));
|
|
859
861
|
}
|
|
860
862
|
async _getTopicSubscribers(topic) {
|
|
863
|
+
const cached = this._topicSubscribersCache.get(topic);
|
|
864
|
+
if (cached && cached.expiresAt > Date.now()) {
|
|
865
|
+
return cached.keys.slice();
|
|
866
|
+
}
|
|
861
867
|
const maxPeers = 64;
|
|
868
|
+
const cache = (keys) => {
|
|
869
|
+
this._topicSubscribersCache.set(topic, {
|
|
870
|
+
expiresAt: Date.now() + TOPIC_SUBSCRIBERS_CACHE_TTL_MS,
|
|
871
|
+
keys,
|
|
872
|
+
});
|
|
873
|
+
return keys.slice();
|
|
874
|
+
};
|
|
862
875
|
// Prefer the bounded peer set we already know from the fanout overlay.
|
|
863
876
|
if (this._fanoutChannel && (topic === this.topic || topic === this.rpc.topic)) {
|
|
864
877
|
const hashes = this._fanoutChannel
|
|
865
878
|
.getPeerHashes({ includeSelf: false })
|
|
866
879
|
.slice(0, maxPeers);
|
|
867
880
|
if (hashes.length === 0)
|
|
868
|
-
return [];
|
|
881
|
+
return cache([]);
|
|
869
882
|
const keys = await Promise.all(hashes.map((hash) => this._resolvePublicKeyFromHash(hash)));
|
|
870
883
|
const uniqueKeys = [];
|
|
871
884
|
const seen = new Set();
|
|
@@ -881,7 +894,7 @@ let SharedLog = (() => {
|
|
|
881
894
|
seen.add(hash);
|
|
882
895
|
uniqueKeys.push(key);
|
|
883
896
|
}
|
|
884
|
-
return uniqueKeys;
|
|
897
|
+
return cache(uniqueKeys);
|
|
885
898
|
}
|
|
886
899
|
const selfHash = this.node.identity.publicKey.hashcode();
|
|
887
900
|
const hashes = [];
|
|
@@ -943,7 +956,7 @@ let SharedLog = (() => {
|
|
|
943
956
|
}
|
|
944
957
|
}
|
|
945
958
|
if (hashes.length === 0)
|
|
946
|
-
return [];
|
|
959
|
+
return cache([]);
|
|
947
960
|
const uniqueHashes = [];
|
|
948
961
|
const seen = new Set();
|
|
949
962
|
for (const h of hashes) {
|
|
@@ -964,7 +977,17 @@ let SharedLog = (() => {
|
|
|
964
977
|
continue;
|
|
965
978
|
uniqueKeys.push(key);
|
|
966
979
|
}
|
|
967
|
-
return uniqueKeys;
|
|
980
|
+
return cache(uniqueKeys);
|
|
981
|
+
}
|
|
982
|
+
invalidateTopicSubscribersCache(...topics) {
|
|
983
|
+
for (const topic of topics) {
|
|
984
|
+
if (!topic)
|
|
985
|
+
continue;
|
|
986
|
+
this._topicSubscribersCache.delete(topic);
|
|
987
|
+
}
|
|
988
|
+
}
|
|
989
|
+
invalidateSharedLogTopicSubscribersCache() {
|
|
990
|
+
this.invalidateTopicSubscribersCache(this.topic, this.rpc.topic);
|
|
968
991
|
}
|
|
969
992
|
// @deprecated
|
|
970
993
|
async getRole() {
|
|
@@ -2086,6 +2109,7 @@ let SharedLog = (() => {
|
|
|
2086
2109
|
this._repairSweepRunning = false;
|
|
2087
2110
|
this._repairSweepForceFreshPending = false;
|
|
2088
2111
|
this._repairSweepAddedPeersPending = new Set();
|
|
2112
|
+
this._topicSubscribersCache = new Map();
|
|
2089
2113
|
this.coordinateToHash = new Cache({ max: 1e6, ttl: 1e4 });
|
|
2090
2114
|
this.recentlyRebalanced = new Cache({ max: 1e4, ttl: 1e5 });
|
|
2091
2115
|
this.uniqueReplicators = new Set();
|
|
@@ -2905,6 +2929,7 @@ let SharedLog = (() => {
|
|
|
2905
2929
|
this.coordinateToHash.clear();
|
|
2906
2930
|
this.recentlyRebalanced.clear();
|
|
2907
2931
|
this.uniqueReplicators.clear();
|
|
2932
|
+
this._topicSubscribersCache.clear();
|
|
2908
2933
|
this._closeController.abort();
|
|
2909
2934
|
clearInterval(this.interval);
|
|
2910
2935
|
this.stopReplicatorLivenessSweep();
|
|
@@ -4040,48 +4065,53 @@ let SharedLog = (() => {
|
|
|
4040
4065
|
// If it is still warming up (for example, only contains self), supplement with
|
|
4041
4066
|
// current subscribers until we have enough candidates for this decision.
|
|
4042
4067
|
let peerFilter = undefined;
|
|
4043
|
-
|
|
4044
|
-
|
|
4045
|
-
peerFilter = new Set(this.uniqueReplicators);
|
|
4046
|
-
if (selfReplicating) {
|
|
4047
|
-
peerFilter.add(selfHash);
|
|
4048
|
-
}
|
|
4049
|
-
else {
|
|
4050
|
-
peerFilter.delete(selfHash);
|
|
4051
|
-
}
|
|
4052
|
-
try {
|
|
4053
|
-
const subscribers = await this._getTopicSubscribers(this.topic);
|
|
4054
|
-
if (subscribers && subscribers.length > 0) {
|
|
4055
|
-
for (const subscriber of subscribers) {
|
|
4056
|
-
peerFilter.add(subscriber.hashcode());
|
|
4057
|
-
}
|
|
4058
|
-
if (selfReplicating) {
|
|
4059
|
-
peerFilter.add(selfHash);
|
|
4060
|
-
}
|
|
4061
|
-
else {
|
|
4062
|
-
peerFilter.delete(selfHash);
|
|
4063
|
-
}
|
|
4064
|
-
}
|
|
4065
|
-
}
|
|
4066
|
-
catch {
|
|
4067
|
-
// Best-effort only; keep current peerFilter.
|
|
4068
|
-
}
|
|
4068
|
+
if (options?.candidates) {
|
|
4069
|
+
peerFilter = new Set(options.candidates);
|
|
4069
4070
|
}
|
|
4070
4071
|
else {
|
|
4071
|
-
|
|
4072
|
-
|
|
4073
|
-
|
|
4074
|
-
|
|
4075
|
-
|
|
4076
|
-
|
|
4077
|
-
|
|
4078
|
-
|
|
4079
|
-
|
|
4072
|
+
const selfReplicating = await this.isReplicating();
|
|
4073
|
+
if (this.uniqueReplicators.size > 0) {
|
|
4074
|
+
peerFilter = new Set(this.uniqueReplicators);
|
|
4075
|
+
if (selfReplicating) {
|
|
4076
|
+
peerFilter.add(selfHash);
|
|
4077
|
+
}
|
|
4078
|
+
else {
|
|
4079
|
+
peerFilter.delete(selfHash);
|
|
4080
|
+
}
|
|
4081
|
+
try {
|
|
4082
|
+
const subscribers = await this._getTopicSubscribers(this.topic);
|
|
4083
|
+
if (subscribers && subscribers.length > 0) {
|
|
4084
|
+
for (const subscriber of subscribers) {
|
|
4085
|
+
peerFilter.add(subscriber.hashcode());
|
|
4086
|
+
}
|
|
4087
|
+
if (selfReplicating) {
|
|
4088
|
+
peerFilter.add(selfHash);
|
|
4089
|
+
}
|
|
4090
|
+
else {
|
|
4091
|
+
peerFilter.delete(selfHash);
|
|
4092
|
+
}
|
|
4080
4093
|
}
|
|
4081
4094
|
}
|
|
4095
|
+
catch {
|
|
4096
|
+
// Best-effort only; keep current peerFilter.
|
|
4097
|
+
}
|
|
4082
4098
|
}
|
|
4083
|
-
|
|
4084
|
-
|
|
4099
|
+
else {
|
|
4100
|
+
try {
|
|
4101
|
+
const subscribers = (await this._getTopicSubscribers(this.topic)) ?? undefined;
|
|
4102
|
+
if (subscribers && subscribers.length > 0) {
|
|
4103
|
+
peerFilter = new Set(subscribers.map((key) => key.hashcode()));
|
|
4104
|
+
if (selfReplicating) {
|
|
4105
|
+
peerFilter.add(selfHash);
|
|
4106
|
+
}
|
|
4107
|
+
else {
|
|
4108
|
+
peerFilter.delete(selfHash);
|
|
4109
|
+
}
|
|
4110
|
+
}
|
|
4111
|
+
}
|
|
4112
|
+
catch {
|
|
4113
|
+
// Best-effort only; if pubsub isn't ready, do a full scan.
|
|
4114
|
+
}
|
|
4085
4115
|
}
|
|
4086
4116
|
}
|
|
4087
4117
|
return getSamples(cursors, this.replicationIndex, roleAge, this.indexableDomain.numbers, {
|
|
@@ -4555,13 +4585,10 @@ let SharedLog = (() => {
|
|
|
4555
4585
|
}
|
|
4556
4586
|
}
|
|
4557
4587
|
const changed = false;
|
|
4558
|
-
const replacedPeers = new Set();
|
|
4559
|
-
for (const change of changes) {
|
|
4560
|
-
if (change.type === "replaced" && change.range.hash !== selfHash) {
|
|
4561
|
-
replacedPeers.add(change.range.hash);
|
|
4562
|
-
}
|
|
4563
|
-
}
|
|
4564
4588
|
const addedPeers = new Set();
|
|
4589
|
+
const warmupPeers = new Set();
|
|
4590
|
+
const hasSelfWarmupChange = changes.some((change) => change.range.hash === selfHash &&
|
|
4591
|
+
(change.type === "added" || change.type === "replaced"));
|
|
4565
4592
|
for (const change of changes) {
|
|
4566
4593
|
if (change.type === "added" || change.type === "replaced") {
|
|
4567
4594
|
const hash = change.range.hash;
|
|
@@ -4573,11 +4600,22 @@ let SharedLog = (() => {
|
|
|
4573
4600
|
}
|
|
4574
4601
|
if (change.type === "added") {
|
|
4575
4602
|
const hash = change.range.hash;
|
|
4576
|
-
if (hash !== selfHash
|
|
4603
|
+
if (hash !== selfHash) {
|
|
4577
4604
|
addedPeers.add(hash);
|
|
4605
|
+
warmupPeers.add(hash);
|
|
4578
4606
|
}
|
|
4579
4607
|
}
|
|
4580
4608
|
}
|
|
4609
|
+
const hasAdaptiveStorageLimit = this._isAdaptiveReplicating &&
|
|
4610
|
+
this.replicationController?.maxMemoryLimit != null;
|
|
4611
|
+
const useJoinWarmupFastPath = !forceFreshDelivery &&
|
|
4612
|
+
warmupPeers.size > 0 &&
|
|
4613
|
+
!hasSelfWarmupChange &&
|
|
4614
|
+
!hasAdaptiveStorageLimit;
|
|
4615
|
+
const immediateRebalanceChanges = useJoinWarmupFastPath
|
|
4616
|
+
? changes.filter((change) => !(change.range.hash === selfHash &&
|
|
4617
|
+
(change.type === "added" || change.type === "replaced")))
|
|
4618
|
+
: changes;
|
|
4581
4619
|
try {
|
|
4582
4620
|
const uncheckedDeliver = new Map();
|
|
4583
4621
|
const flushUncheckedDeliverTarget = (target) => {
|
|
@@ -4585,11 +4623,11 @@ let SharedLog = (() => {
|
|
|
4585
4623
|
if (!entries || entries.size === 0) {
|
|
4586
4624
|
return;
|
|
4587
4625
|
}
|
|
4588
|
-
const
|
|
4589
|
-
const bypassRecentDedupe =
|
|
4626
|
+
const isWarmupTarget = warmupPeers.has(target);
|
|
4627
|
+
const bypassRecentDedupe = isWarmupTarget || forceFreshDelivery;
|
|
4590
4628
|
this.dispatchMaybeMissingEntries(target, entries, {
|
|
4591
4629
|
bypassRecentDedupe,
|
|
4592
|
-
retryScheduleMs:
|
|
4630
|
+
retryScheduleMs: isWarmupTarget
|
|
4593
4631
|
? JOIN_WARMUP_RETRY_SCHEDULE_MS
|
|
4594
4632
|
: undefined,
|
|
4595
4633
|
forceFreshDelivery,
|
|
@@ -4610,12 +4648,64 @@ let SharedLog = (() => {
|
|
|
4610
4648
|
flushUncheckedDeliverTarget(target);
|
|
4611
4649
|
}
|
|
4612
4650
|
};
|
|
4613
|
-
|
|
4614
|
-
|
|
4615
|
-
|
|
4616
|
-
}
|
|
4617
|
-
|
|
4618
|
-
|
|
4651
|
+
if (immediateRebalanceChanges.length > 0) {
|
|
4652
|
+
for await (const entryReplicated of toRebalance(immediateRebalanceChanges, this.entryCoordinatesIndex, this.recentlyRebalanced, {
|
|
4653
|
+
forceFresh: forceFreshDelivery || useJoinWarmupFastPath,
|
|
4654
|
+
})) {
|
|
4655
|
+
if (this.closed) {
|
|
4656
|
+
break;
|
|
4657
|
+
}
|
|
4658
|
+
if (useJoinWarmupFastPath) {
|
|
4659
|
+
let oldPeersSet;
|
|
4660
|
+
const gid = entryReplicated.gid;
|
|
4661
|
+
oldPeersSet = gidPeersHistorySnapshot.get(gid);
|
|
4662
|
+
if (!gidPeersHistorySnapshot.has(gid)) {
|
|
4663
|
+
const existing = this._gidPeersHistory.get(gid);
|
|
4664
|
+
oldPeersSet = existing ? new Set(existing) : undefined;
|
|
4665
|
+
gidPeersHistorySnapshot.set(gid, oldPeersSet);
|
|
4666
|
+
}
|
|
4667
|
+
for (const target of warmupPeers) {
|
|
4668
|
+
queueUncheckedDeliver(target, entryReplicated);
|
|
4669
|
+
}
|
|
4670
|
+
const candidatePeers = new Set([selfHash]);
|
|
4671
|
+
for (const target of warmupPeers) {
|
|
4672
|
+
candidatePeers.add(target);
|
|
4673
|
+
}
|
|
4674
|
+
if (oldPeersSet) {
|
|
4675
|
+
for (const oldPeer of oldPeersSet) {
|
|
4676
|
+
candidatePeers.add(oldPeer);
|
|
4677
|
+
}
|
|
4678
|
+
}
|
|
4679
|
+
const currentPeers = await this.findLeaders(entryReplicated.coordinates, entryReplicated, {
|
|
4680
|
+
roleAge: 0,
|
|
4681
|
+
candidates: candidatePeers,
|
|
4682
|
+
persist: false,
|
|
4683
|
+
});
|
|
4684
|
+
if (oldPeersSet) {
|
|
4685
|
+
for (const oldPeer of oldPeersSet) {
|
|
4686
|
+
if (!currentPeers.has(oldPeer)) {
|
|
4687
|
+
this.removePruneRequestSent(entryReplicated.hash);
|
|
4688
|
+
}
|
|
4689
|
+
}
|
|
4690
|
+
}
|
|
4691
|
+
this.addPeersToGidPeerHistory(entryReplicated.gid, currentPeers.keys(), true);
|
|
4692
|
+
if (!currentPeers.has(selfHash)) {
|
|
4693
|
+
this.pruneDebouncedFnAddIfNotKeeping({
|
|
4694
|
+
key: entryReplicated.hash,
|
|
4695
|
+
value: { entry: entryReplicated, leaders: currentPeers },
|
|
4696
|
+
});
|
|
4697
|
+
this.responseToPruneDebouncedFn.delete(entryReplicated.hash);
|
|
4698
|
+
}
|
|
4699
|
+
else {
|
|
4700
|
+
this.pruneDebouncedFn.delete(entryReplicated.hash);
|
|
4701
|
+
await this._pendingDeletes
|
|
4702
|
+
.get(entryReplicated.hash)
|
|
4703
|
+
?.reject(new Error("Failed to delete, is leader again"));
|
|
4704
|
+
this.removePruneRequestSent(entryReplicated.hash);
|
|
4705
|
+
}
|
|
4706
|
+
continue;
|
|
4707
|
+
}
|
|
4708
|
+
let oldPeersSet;
|
|
4619
4709
|
const gid = entryReplicated.gid;
|
|
4620
4710
|
oldPeersSet = gidPeersHistorySnapshot.get(gid);
|
|
4621
4711
|
if (!gidPeersHistorySnapshot.has(gid)) {
|
|
@@ -4623,50 +4713,74 @@ let SharedLog = (() => {
|
|
|
4623
4713
|
oldPeersSet = existing ? new Set(existing) : undefined;
|
|
4624
4714
|
gidPeersHistorySnapshot.set(gid, oldPeersSet);
|
|
4625
4715
|
}
|
|
4626
|
-
|
|
4627
|
-
|
|
4628
|
-
|
|
4629
|
-
|
|
4630
|
-
|
|
4631
|
-
|
|
4632
|
-
|
|
4633
|
-
|
|
4634
|
-
|
|
4635
|
-
|
|
4636
|
-
|
|
4637
|
-
|
|
4638
|
-
|
|
4639
|
-
|
|
4716
|
+
let isLeader = false;
|
|
4717
|
+
const currentPeers = await this.findLeaders(entryReplicated.coordinates, entryReplicated, {
|
|
4718
|
+
// We do this to make sure new replicators get data even though
|
|
4719
|
+
// they are not mature so they can figure out if they want to
|
|
4720
|
+
// replicate more or less.
|
|
4721
|
+
roleAge: 0,
|
|
4722
|
+
});
|
|
4723
|
+
for (const [currentPeer] of currentPeers) {
|
|
4724
|
+
if (currentPeer === this.node.identity.publicKey.hashcode()) {
|
|
4725
|
+
isLeader = true;
|
|
4726
|
+
continue;
|
|
4727
|
+
}
|
|
4728
|
+
if (!oldPeersSet?.has(currentPeer)) {
|
|
4729
|
+
queueUncheckedDeliver(currentPeer, entryReplicated);
|
|
4730
|
+
}
|
|
4640
4731
|
}
|
|
4641
|
-
|
|
4642
|
-
|
|
4643
|
-
|
|
4644
|
-
|
|
4645
|
-
|
|
4732
|
+
if (oldPeersSet) {
|
|
4733
|
+
for (const oldPeer of oldPeersSet) {
|
|
4734
|
+
if (!currentPeers.has(oldPeer)) {
|
|
4735
|
+
this.removePruneRequestSent(entryReplicated.hash);
|
|
4736
|
+
}
|
|
4646
4737
|
}
|
|
4647
4738
|
}
|
|
4648
|
-
|
|
4649
|
-
|
|
4650
|
-
|
|
4651
|
-
|
|
4652
|
-
|
|
4653
|
-
|
|
4654
|
-
|
|
4655
|
-
|
|
4656
|
-
|
|
4657
|
-
|
|
4658
|
-
|
|
4659
|
-
|
|
4660
|
-
|
|
4661
|
-
|
|
4662
|
-
|
|
4739
|
+
this.addPeersToGidPeerHistory(entryReplicated.gid, currentPeers.keys(), true);
|
|
4740
|
+
if (!isLeader) {
|
|
4741
|
+
this.pruneDebouncedFnAddIfNotKeeping({
|
|
4742
|
+
key: entryReplicated.hash,
|
|
4743
|
+
value: { entry: entryReplicated, leaders: currentPeers },
|
|
4744
|
+
});
|
|
4745
|
+
this.responseToPruneDebouncedFn.delete(entryReplicated.hash); // don't allow others to prune because of expecting me to replicating this entry
|
|
4746
|
+
}
|
|
4747
|
+
else {
|
|
4748
|
+
this.pruneDebouncedFn.delete(entryReplicated.hash);
|
|
4749
|
+
await this._pendingDeletes
|
|
4750
|
+
.get(entryReplicated.hash)
|
|
4751
|
+
?.reject(new Error("Failed to delete, is leader again"));
|
|
4752
|
+
this.removePruneRequestSent(entryReplicated.hash);
|
|
4753
|
+
}
|
|
4663
4754
|
}
|
|
4664
4755
|
}
|
|
4665
|
-
if (forceFreshDelivery
|
|
4666
|
-
//
|
|
4667
|
-
// scanning the whole index synchronously on each replication change.
|
|
4756
|
+
if (forceFreshDelivery) {
|
|
4757
|
+
// Removed/shrunk ranges still need the authoritative background pass.
|
|
4668
4758
|
this.scheduleRepairSweep({ forceFreshDelivery, addedPeers });
|
|
4669
4759
|
}
|
|
4760
|
+
else if (useJoinWarmupFastPath) {
|
|
4761
|
+
// Pure join warmup uses the cheap immediate maybe-missing dispatch above,
|
|
4762
|
+
// then defers the authoritative sweep so it does not compete with the
|
|
4763
|
+
// write burst itself.
|
|
4764
|
+
const peers = new Set(addedPeers);
|
|
4765
|
+
const timer = setTimeout(() => {
|
|
4766
|
+
this._repairRetryTimers.delete(timer);
|
|
4767
|
+
if (this.closed) {
|
|
4768
|
+
return;
|
|
4769
|
+
}
|
|
4770
|
+
this.scheduleRepairSweep({
|
|
4771
|
+
forceFreshDelivery: false,
|
|
4772
|
+
addedPeers: peers,
|
|
4773
|
+
});
|
|
4774
|
+
}, 250);
|
|
4775
|
+
timer.unref?.();
|
|
4776
|
+
this._repairRetryTimers.add(timer);
|
|
4777
|
+
}
|
|
4778
|
+
else if (addedPeers.size > 0) {
|
|
4779
|
+
this.scheduleRepairSweep({
|
|
4780
|
+
forceFreshDelivery: false,
|
|
4781
|
+
addedPeers,
|
|
4782
|
+
});
|
|
4783
|
+
}
|
|
4670
4784
|
for (const target of [...uncheckedDeliver.keys()]) {
|
|
4671
4785
|
flushUncheckedDeliverTarget(target);
|
|
4672
4786
|
}
|
|
@@ -4696,6 +4810,7 @@ let SharedLog = (() => {
|
|
|
4696
4810
|
if (!prev || prev < now) {
|
|
4697
4811
|
this.latestReplicationInfoMessage.set(fromHash, now);
|
|
4698
4812
|
}
|
|
4813
|
+
this.invalidateSharedLogTopicSubscribersCache();
|
|
4699
4814
|
return this.handleSubscriptionChange(evt.detail.from, evt.detail.topics, false);
|
|
4700
4815
|
}
|
|
4701
4816
|
async _onSubscription(evt) {
|
|
@@ -4705,6 +4820,7 @@ let SharedLog = (() => {
|
|
|
4705
4820
|
}
|
|
4706
4821
|
this.remoteBlocks.onReachable(evt.detail.from);
|
|
4707
4822
|
this._replicationInfoBlockedPeers.delete(evt.detail.from.hashcode());
|
|
4823
|
+
this.invalidateSharedLogTopicSubscribersCache();
|
|
4708
4824
|
await this.handleSubscriptionChange(evt.detail.from, evt.detail.topics, true);
|
|
4709
4825
|
}
|
|
4710
4826
|
async rebalanceParticipation() {
|