@peerbit/shared-log 16.0.8 → 16.0.9

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/README.md CHANGED
@@ -1,3 +1,27 @@
1
1
  # Shared log
2
2
 
3
- A log that can be replicated
3
+ A log that can be replicated
4
+
5
+ ## Replication status
6
+
7
+ `SharedLog.getReplicationStatus()` returns a detached, local snapshot of the
8
+ current storage use, minimum range coverage, and active-replicator count. The
9
+ local `replication:status` event is emitted for the first snapshot and then only
10
+ when its ordered reason set changes, including recovery to an empty reason set.
11
+ Explicit calls always perform a one-shot measurement. Automatic refreshes run
12
+ only while at least one `replication:status` listener is registered, avoiding
13
+ coverage scans for applications that do not consume this telemetry. To start
14
+ monitoring reliably, register the listener first and then call
15
+ `getReplicationStatus()` once to seed the initial snapshot.
16
+
17
+ This API is advisory telemetry. It is not persisted, sent over the replication
18
+ protocol, forwarded by the canonical SharedLog proxy, or used to make placement,
19
+ repair, and pruning decisions.
20
+
21
+ `replicate.limits.storage` remains a **soft objective** for the adaptive PID
22
+ controller, not a hard storage quota. Coverage pressure, discrete entry sizes,
23
+ and delayed pruning can make actual use exceed the configured value. The
24
+ `storage-objective-exceeded` reason reports that condition; it does not enforce
25
+ the objective. `range-coverage-underfilled` reports minimum ring coverage below
26
+ `replicas.min`, while `default-replica-target-unattainable` reports fewer active
27
+ replicators than that target.
@@ -21,11 +21,13 @@ import { type ReplicationDomainHash, createReplicationDomainHash } from "./repli
21
21
  import { type ReplicationDomainTime, createReplicationDomainTime } from "./replication-domain-time.js";
22
22
  import { type CoverRange, type ExtractDomainArgs, type ReplicationDomain, type ReplicationDomainConstructor } from "./replication-domain.js";
23
23
  import type { AddedReplicationInfoMutation, FullReplicationInfoMutation } from "./replication-info-mutation.js";
24
+ import { type ReplicationStatus } from "./replication-status.js";
24
25
  import { AbsoluteReplicas, type ReplicationLimits } from "./replication.js";
25
26
  import type { SyncOptions, SynchronizerConstructor, Syncronizer } from "./sync/index.js";
26
27
  export { type ReplicationDomain, type ReplicationDomainHash, type ReplicationDomainTime, createReplicationDomainHash, createReplicationDomainTime, };
27
28
  export { type CPUUsage, CPUUsageIntervalLag };
28
29
  export * from "./replication.js";
30
+ export * from "./replication-status.js";
29
31
  export type { LogLike, LogResultsIterator, SharedLogLike, SharedLogReplicationIndexLike, } from "./like.js";
30
32
  export { type ReplicationRangeIndexable, ReplicationRangeIndexableU32, ReplicationRangeIndexableU64, type EntryReplicated, EntryReplicatedU32, EntryReplicatedU64, type CoverRange, CompatibilityModeRetiredError, NativeDurableCommitError, NoPeersError, };
31
33
  export { MAX_U32, MAX_U64, type NumberFromType };
@@ -174,6 +176,11 @@ export type ReplicationLimitsOptions = Partial<ReplicationLimits> | {
174
176
  export type DynamicReplicationOptions<R extends "u32" | "u64"> = {
175
177
  limits?: {
176
178
  interval?: number;
179
+ /**
180
+ * Soft byte objective for the adaptive PID controller. This is not a hard
181
+ * quota: coverage pressure, discrete entries, and delayed pruning can make
182
+ * actual local storage exceed this value.
183
+ */
177
184
  storage?: number;
178
185
  cpu?: number | {
179
186
  max: number;
@@ -360,11 +367,13 @@ export type ReplicationChangeEvent = {
360
367
  export type ReplicatorMatureEvent = {
361
368
  publicKey: PublicSignKey;
362
369
  };
370
+ export type ReplicationStatusEvent = ReplicationStatus;
363
371
  export interface SharedLogEvents extends ProgramEvents {
364
372
  "replicator:join": CustomEvent<ReplicatorJoinEvent>;
365
373
  "replicator:leave": CustomEvent<ReplicatorLeaveEvent>;
366
374
  "replication:change": CustomEvent<ReplicationChangeEvent>;
367
375
  "replicator:mature": CustomEvent<ReplicatorMatureEvent>;
376
+ "replication:status": CustomEvent<ReplicationStatusEvent>;
368
377
  }
369
378
  export type SharedLogRuntimeSnapshot = Readonly<{
370
379
  nativeGraph: Readonly<{
@@ -377,6 +386,10 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
377
386
  rpc: RPC<TransportMessage, TransportMessage>;
378
387
  private _isReplicating;
379
388
  private _isAdaptiveReplicating;
389
+ private _replicationStatus?;
390
+ private _replicationStatusReadTail;
391
+ private _replicationStatusRefreshScheduled;
392
+ private _replicationStatusRefreshDirty;
380
393
  private _replicationRangeIndex;
381
394
  private _entryCoordinatesIndex;
382
395
  private _nativeRangePlanner?;
@@ -652,6 +665,7 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
652
665
  mergeSegments?: boolean;
653
666
  announce?: (msg: FullReplicationInfoMutation | AddedReplicationInfoMutation) => void;
654
667
  }): Promise<ReplicationRangeIndexable<R>[]>;
668
+ private applyReplicationRole;
655
669
  unreplicate(rangeOrEntry?: Entry<T> | {
656
670
  id: Uint8Array;
657
671
  }[]): Promise<void>;
@@ -818,6 +832,20 @@ export declare class SharedLog<T, D extends ReplicationDomain<any, T, R> = any,
818
832
  private advanceReplicationInfoRecoveryEpoch;
819
833
  private resolveCandidatePeersForHash;
820
834
  getMemoryUsage(): Promise<number>;
835
+ private resetReplicationStatusLifecycle;
836
+ private isReplicationStatusLifecycleCurrent;
837
+ private measureReplicationStatus;
838
+ /**
839
+ * Measure local replication health. The snapshot and event are advisory:
840
+ * they are not persisted, sent to peers, or consumed by replication logic.
841
+ * Event emission is deduplicated by the ordered reason set, so metric drift
842
+ * within the same state does not create event traffic. Explicit measurements
843
+ * work without listeners; automatic refreshes run only while the status event
844
+ * has at least one listener.
845
+ */
846
+ getReplicationStatus(): Promise<ReplicationStatus>;
847
+ private scheduleReplicationStatusRefresh;
848
+ private scheduleReplicationStatusRefreshForStorage;
821
849
  /** Return a detached snapshot of effective shared-log runtime settings. */
822
850
  getRuntimeSnapshot(): SharedLogRuntimeSnapshot;
823
851
  /**
@@ -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
@@ -72,6 +72,7 @@ import { createReplicationDomainTime, } from "./replication-domain-time.js";
72
72
  import {} from "./replication-domain.js";
73
73
  import { ReplicationInfoV2ReceiveCoordinator } from "./replication-info-v2-receive.js";
74
74
  import { ReplicationInfoV2SendCoordinator } from "./replication-info-v2-send.js";
75
+ import { classifyReplicationStatus, } from "./replication-status.js";
75
76
  import { AbsoluteReplicas, AddedReplicationInfoV2Message, AddedReplicationSegmentMessage, AllReplicatingSegmentsMessage, FullReplicationInfoV2Message, MinReplicas, ReplicationError, ReplicationPingMessage, RequestReplicationInfoMessage, RequestReplicationInfoV2Message, ResponseRoleMessage, StoppedReplicating, StoppedReplicationInfoV2Message, decodeReplicas, encodeReplicas, isReplicationInfoV2Message, maxReplicas, } from "./replication.js";
76
77
  import { ReplicatorLivenessMonitor } from "./replicator-liveness.js";
77
78
  import { createSyncronizer } from "./sync/factory.js";
@@ -124,6 +125,7 @@ const toLocalPublicSignKey = (key) => {
124
125
  export { createReplicationDomainHash, createReplicationDomainTime, };
125
126
  export { CPUUsageIntervalLag };
126
127
  export * from "./replication.js";
128
+ export * from "./replication-status.js";
127
129
  export { ReplicationRangeIndexableU32, ReplicationRangeIndexableU64, EntryReplicatedU32, EntryReplicatedU64, CompatibilityModeRetiredError, NativeDurableCommitError, NoPeersError, };
128
130
  export { MAX_U32, MAX_U64 };
129
131
  export { ExchangeHeadsMessage, RawExchangeHeadsMessage, StashBackedRawExchangeHeadsMessage, };
@@ -552,6 +554,12 @@ const checkMinReplicasLimit = (minReplicas) => {
552
554
  }
553
555
  };
554
556
  const asTrustedLowerLog = (log) => log;
557
+ class ReplicationStatusSnapshotChangedError extends Error {
558
+ constructor() {
559
+ super("Replication status changed while it was being measured");
560
+ this.name = "ReplicationStatusSnapshotChangedError";
561
+ }
562
+ }
555
563
  let SharedLog = (() => {
556
564
  let _classDecorators = [variant("shared_log")];
557
565
  let _classDescriptor;
@@ -582,6 +590,10 @@ let SharedLog = (() => {
582
590
  // options
583
591
  _isReplicating = __runInitializers(this, _rpc_extraInitializers);
584
592
  _isAdaptiveReplicating;
593
+ _replicationStatus;
594
+ _replicationStatusReadTail;
595
+ _replicationStatusRefreshScheduled;
596
+ _replicationStatusRefreshDirty;
585
597
  _replicationRangeIndex;
586
598
  _entryCoordinatesIndex;
587
599
  _nativeRangePlanner;
@@ -3696,6 +3708,24 @@ let SharedLog = (() => {
3696
3708
  this.setupRebalanceDebounceFunction(options?.limits?.interval);
3697
3709
  }
3698
3710
  async replicate(rangeOrEntry, options) {
3711
+ const wasAdaptiveReplicating = this._isAdaptiveReplicating;
3712
+ const previousStorageObjective = wasAdaptiveReplicating
3713
+ ? this.replicationController?.maxMemoryLimit
3714
+ : undefined;
3715
+ try {
3716
+ return await this.applyReplicationRole(rangeOrEntry, options);
3717
+ }
3718
+ finally {
3719
+ const storageObjective = this._isAdaptiveReplicating
3720
+ ? this.replicationController?.maxMemoryLimit
3721
+ : undefined;
3722
+ if (this._isAdaptiveReplicating !== wasAdaptiveReplicating ||
3723
+ storageObjective !== previousStorageObjective) {
3724
+ this.scheduleReplicationStatusRefresh();
3725
+ }
3726
+ }
3727
+ }
3728
+ async applyReplicationRole(rangeOrEntry, options) {
3699
3729
  this.throwIfCheckedPruneRemoveBlocksLocalOperation("replication range mutation");
3700
3730
  const replicationOwnershipLifecycleController = this.captureReplicationOwnershipLifecycle();
3701
3731
  const requestedRole = rangeOrEntry &&
@@ -3777,9 +3807,24 @@ let SharedLog = (() => {
3777
3807
  return this._replicate(range, options, replicationOwnershipLifecycleController);
3778
3808
  }
3779
3809
  async unreplicate(rangeOrEntry) {
3810
+ const wasAdaptiveReplicating = this._isAdaptiveReplicating;
3811
+ const previousStorageObjective = wasAdaptiveReplicating
3812
+ ? this.replicationController?.maxMemoryLimit
3813
+ : undefined;
3780
3814
  this.throwIfCheckedPruneRemoveBlocksLocalOperation("replication range mutation");
3781
3815
  const replicationOwnershipLifecycleController = this.captureReplicationOwnershipLifecycle();
3782
- return this._unreplicate(rangeOrEntry, replicationOwnershipLifecycleController);
3816
+ try {
3817
+ return await this._unreplicate(rangeOrEntry, replicationOwnershipLifecycleController);
3818
+ }
3819
+ finally {
3820
+ const storageObjective = this._isAdaptiveReplicating
3821
+ ? this.replicationController?.maxMemoryLimit
3822
+ : undefined;
3823
+ if (this._isAdaptiveReplicating !== wasAdaptiveReplicating ||
3824
+ storageObjective !== previousStorageObjective) {
3825
+ this.scheduleReplicationStatusRefresh();
3826
+ }
3827
+ }
3783
3828
  }
3784
3829
  async _unreplicate(rangeOrEntry, replicationOwnershipLifecycleController) {
3785
3830
  this.throwIfReplicationOwnershipLifecycleInactive(replicationOwnershipLifecycleController);
@@ -4045,6 +4090,13 @@ let SharedLog = (() => {
4045
4090
  }
4046
4091
  return;
4047
4092
  }
4093
+ if (deleted.length > 0 || (wasReplicator && !ownerHasRanges)) {
4094
+ // Some committed removals intentionally suppress replication:change,
4095
+ // and liveness cleanup can retire membership without a leave event.
4096
+ // Refresh from the committed post-state instead of relying on either
4097
+ // optional notification path.
4098
+ this.scheduleReplicationStatusRefresh();
4099
+ }
4048
4100
  if (options?.noEvent !== true && deleted.length > 0) {
4049
4101
  const publicKey = toLocalPublicSignKey(key);
4050
4102
  if (publicKey) {
@@ -9229,6 +9281,7 @@ let SharedLog = (() => {
9229
9281
  // _receiveOwnershipRevision and _receiveOwnershipMutationAdmissions
9230
9282
  // all start at 0 on the incoming lifecycle.
9231
9283
  this.startRepairLifecycle();
9284
+ this.resetReplicationStatusLifecycle();
9232
9285
  // Guard: between startRepairLifecycle() and
9233
9286
  // resetSubscriptionChangeCallbackTracking() the fresh lifecycle's
9234
9287
  // membership controller is undefined (legacy exposed the previous
@@ -9379,10 +9432,17 @@ let SharedLog = (() => {
9379
9432
  this._replicationInfoRequestByPeer.clear();
9380
9433
  });
9381
9434
  const invalidateLeaderSelectionContext = () => this.invalidateLeaderSelectionContextCache();
9435
+ const onReplicationStatusInputChange = () => this.scheduleReplicationStatusRefresh();
9382
9436
  this.events.addEventListener("replication:change", invalidateLeaderSelectionContext);
9437
+ this.events.addEventListener("replication:change", onReplicationStatusInputChange);
9438
+ this.events.addEventListener("replicator:join", onReplicationStatusInputChange);
9439
+ this.events.addEventListener("replicator:leave", onReplicationStatusInputChange);
9383
9440
  this.events.addEventListener("replicator:mature", invalidateLeaderSelectionContext);
9384
9441
  this._closeController.signal.addEventListener("abort", () => {
9385
9442
  this.events.removeEventListener("replication:change", invalidateLeaderSelectionContext);
9443
+ this.events.removeEventListener("replication:change", onReplicationStatusInputChange);
9444
+ this.events.removeEventListener("replicator:join", onReplicationStatusInputChange);
9445
+ this.events.removeEventListener("replicator:leave", onReplicationStatusInputChange);
9386
9446
  this.events.removeEventListener("replicator:mature", invalidateLeaderSelectionContext);
9387
9447
  this.invalidateLeaderSelectionContextCache();
9388
9448
  });
@@ -9781,6 +9841,7 @@ let SharedLog = (() => {
9781
9841
  void this.rebalanceParticipationDebounced?.call();
9782
9842
  }, RECALCULATE_PARTICIPATION_DEBOUNCE_INTERVAL);
9783
9843
  this._instanceLifecycle.markOpenComplete();
9844
+ this.scheduleReplicationStatusRefresh();
9784
9845
  }
9785
9846
  toNativeReplicationRange(range) {
9786
9847
  return {
@@ -10339,6 +10400,7 @@ let SharedLog = (() => {
10339
10400
  const promises = [];
10340
10401
  const iterator = this.replicationIndex.iterate();
10341
10402
  const checkedIsAlive = new Set();
10403
+ const selfHash = this.node.identity.publicKey.hashcode();
10342
10404
  while (!iterator.done()) {
10343
10405
  const segments = await iterator.next(1000);
10344
10406
  if (!this.isReplicationLifecycleActive(replicationLifecycleController)) {
@@ -10346,8 +10408,12 @@ let SharedLog = (() => {
10346
10408
  }
10347
10409
  for (const segment of segments) {
10348
10410
  if (checkedIsAlive.has(segment.value.hash) ||
10349
- this.node.identity.publicKey.hashcode() === segment.value.hash) {
10350
- this.uniqueReplicators.add(this.node.identity.publicKey.hashcode());
10411
+ selfHash === segment.value.hash) {
10412
+ if (!this.uniqueReplicators.has(selfHash)) {
10413
+ this.uniqueReplicators.add(selfHash);
10414
+ this.invalidateLeaderSelectionContextCache();
10415
+ this.scheduleReplicationStatusRefresh();
10416
+ }
10351
10417
  continue;
10352
10418
  }
10353
10419
  checkedIsAlive.add(segment.value.hash);
@@ -10569,6 +10635,179 @@ let SharedLog = (() => {
10569
10635
  return this.log.blocks.size();
10570
10636
  /* ((await this.log.entryIndex?.getMemoryUsage()) || 0) */ // + (await this.log.blocks.size())
10571
10637
  }
10638
+ resetReplicationStatusLifecycle() {
10639
+ this._replicationStatus = undefined;
10640
+ this._replicationStatusReadTail = Promise.resolve();
10641
+ this._replicationStatusRefreshScheduled = false;
10642
+ this._replicationStatusRefreshDirty = false;
10643
+ }
10644
+ isReplicationStatusLifecycleCurrent(lifecycle) {
10645
+ return (lifecycle != null &&
10646
+ lifecycle === this._instanceLifecycle &&
10647
+ lifecycle.phase() === "active");
10648
+ }
10649
+ async measureReplicationStatus(lifecycle) {
10650
+ if (!this.isReplicationStatusLifecycleCurrent(lifecycle)) {
10651
+ throw new ClosedError();
10652
+ }
10653
+ const capturedRoleGeneration = lifecycle.roleGeneration;
10654
+ const capturedOwnershipRevision = lifecycle._receiveOwnershipRevision;
10655
+ if (lifecycle._receiveOwnershipMutationAdmissions !== 0) {
10656
+ throw new ReplicationStatusSnapshotChangedError();
10657
+ }
10658
+ // Capture every synchronous policy/membership input before yielding. The
10659
+ // generation and ownership checks below reject the whole measurement if a
10660
+ // same-open role or range mutation races either asynchronous metric read.
10661
+ const defaultReplicaTarget = this.replicas.min.getValue(this);
10662
+ const isAdaptiveReplicating = this._isAdaptiveReplicating;
10663
+ const storageObjectiveBytes = isAdaptiveReplicating
10664
+ ? this.replicationController?.maxMemoryLimit
10665
+ : undefined;
10666
+ const activeReplicators = this.uniqueReplicators.size;
10667
+ const [storageUsedBytes, rangeCoverage] = await Promise.all([
10668
+ this.getMemoryUsage(),
10669
+ this.calculateCoverage(),
10670
+ ]);
10671
+ if (!this.isReplicationStatusLifecycleCurrent(lifecycle)) {
10672
+ throw new ClosedError();
10673
+ }
10674
+ const currentStorageObjectiveBytes = this._isAdaptiveReplicating
10675
+ ? this.replicationController?.maxMemoryLimit
10676
+ : undefined;
10677
+ if (!lifecycle.isRoleCurrent(capturedRoleGeneration) ||
10678
+ !this.isReceiveOwnershipSnapshotStable(capturedOwnershipRevision) ||
10679
+ this.replicas.min.getValue(this) !== defaultReplicaTarget ||
10680
+ this._isAdaptiveReplicating !== isAdaptiveReplicating ||
10681
+ currentStorageObjectiveBytes !== storageObjectiveBytes ||
10682
+ this.uniqueReplicators.size !== activeReplicators) {
10683
+ throw new ReplicationStatusSnapshotChangedError();
10684
+ }
10685
+ const status = classifyReplicationStatus({
10686
+ storageUsedBytes,
10687
+ storageObjectiveBytes,
10688
+ rangeCoverage,
10689
+ defaultReplicaTarget,
10690
+ activeReplicators,
10691
+ });
10692
+ const previous = this._replicationStatus;
10693
+ this._replicationStatus = status;
10694
+ const transitioned = previous == null ||
10695
+ previous.reasons.length !== status.reasons.length ||
10696
+ previous.reasons.some((reason, index) => reason !== status.reasons[index]);
10697
+ if (transitioned) {
10698
+ this.events.dispatchEvent(new CustomEvent("replication:status", {
10699
+ detail: status,
10700
+ }));
10701
+ }
10702
+ return status;
10703
+ }
10704
+ /**
10705
+ * Measure local replication health. The snapshot and event are advisory:
10706
+ * they are not persisted, sent to peers, or consumed by replication logic.
10707
+ * Event emission is deduplicated by the ordered reason set, so metric drift
10708
+ * within the same state does not create event traffic. Explicit measurements
10709
+ * work without listeners; automatic refreshes run only while the status event
10710
+ * has at least one listener.
10711
+ */
10712
+ getReplicationStatus() {
10713
+ const lifecycle = this._instanceLifecycle;
10714
+ if (!this.isReplicationStatusLifecycleCurrent(lifecycle)) {
10715
+ return Promise.reject(new ClosedError());
10716
+ }
10717
+ const previous = this._replicationStatusReadTail ?? Promise.resolve();
10718
+ const operation = previous
10719
+ .catch(() => { })
10720
+ .then(async () => {
10721
+ let staleError;
10722
+ for (let attempt = 0; attempt < 2; attempt++) {
10723
+ try {
10724
+ return await this.measureReplicationStatus(lifecycle);
10725
+ }
10726
+ catch (error) {
10727
+ if (!(error instanceof ReplicationStatusSnapshotChangedError)) {
10728
+ throw error;
10729
+ }
10730
+ staleError = error;
10731
+ if (attempt === 0) {
10732
+ const mutationTail = this._replicationRangeMutationTail;
10733
+ await mutationTail.catch(() => { });
10734
+ }
10735
+ }
10736
+ }
10737
+ throw staleError;
10738
+ });
10739
+ this._replicationStatusReadTail = operation.then(() => { }, () => { });
10740
+ return operation;
10741
+ }
10742
+ scheduleReplicationStatusRefresh() {
10743
+ if (this.events.listenerCount("replication:status") === 0) {
10744
+ return;
10745
+ }
10746
+ const lifecycle = this._instanceLifecycle;
10747
+ if (!this.isReplicationStatusLifecycleCurrent(lifecycle)) {
10748
+ return;
10749
+ }
10750
+ if (this._replicationStatusRefreshScheduled) {
10751
+ this._replicationStatusRefreshDirty = true;
10752
+ return;
10753
+ }
10754
+ this._replicationStatusRefreshScheduled = true;
10755
+ queueMicrotask(() => {
10756
+ if (lifecycle !== this._instanceLifecycle) {
10757
+ return;
10758
+ }
10759
+ if (this.events.listenerCount("replication:status") === 0) {
10760
+ this._replicationStatusRefreshScheduled = false;
10761
+ this._replicationStatusRefreshDirty = false;
10762
+ return;
10763
+ }
10764
+ // Calls coalesced before the microtask starts are reflected by this scan.
10765
+ // Calls arriving while it is in flight set the bit again and receive one
10766
+ // follow-up scan for the latest state.
10767
+ this._replicationStatusRefreshDirty = false;
10768
+ if (!this.isReplicationStatusLifecycleCurrent(lifecycle)) {
10769
+ this._replicationStatusRefreshScheduled = false;
10770
+ return;
10771
+ }
10772
+ void this.getReplicationStatus()
10773
+ .catch((error) => {
10774
+ if (error instanceof ReplicationStatusSnapshotChangedError) {
10775
+ this._replicationStatusRefreshDirty = true;
10776
+ return;
10777
+ }
10778
+ if (this.isReplicationStatusLifecycleCurrent(lifecycle) &&
10779
+ !(error instanceof ClosedError) &&
10780
+ !isNotStartedError(error)) {
10781
+ logger.error(error);
10782
+ }
10783
+ })
10784
+ .then(() => {
10785
+ if (lifecycle !== this._instanceLifecycle) {
10786
+ return;
10787
+ }
10788
+ this._replicationStatusRefreshScheduled = false;
10789
+ if (!this.isReplicationStatusLifecycleCurrent(lifecycle)) {
10790
+ this._replicationStatusRefreshDirty = false;
10791
+ return;
10792
+ }
10793
+ if (this._replicationStatusRefreshDirty) {
10794
+ this._replicationStatusRefreshDirty = false;
10795
+ this.scheduleReplicationStatusRefresh();
10796
+ }
10797
+ });
10798
+ });
10799
+ }
10800
+ scheduleReplicationStatusRefreshForStorage(storageUsedBytes) {
10801
+ const objective = this.replicationController?.maxMemoryLimit;
10802
+ if (!this._isAdaptiveReplicating || objective == null) {
10803
+ return;
10804
+ }
10805
+ const exceeded = storageUsedBytes > objective;
10806
+ const wasExceeded = this._replicationStatus?.reasons.includes("storage-objective-exceeded");
10807
+ if (wasExceeded == null || wasExceeded !== exceeded) {
10808
+ this.scheduleReplicationStatusRefresh();
10809
+ }
10810
+ }
10572
10811
  /** Return a detached snapshot of effective shared-log runtime settings. */
10573
10812
  getRuntimeSnapshot() {
10574
10813
  const nativeGraph = this.log.entryIndex.properties.nativeGraph;
@@ -11177,6 +11416,7 @@ let SharedLog = (() => {
11177
11416
  async _close(options) {
11178
11417
  this.stopRepairLifecycle();
11179
11418
  this._instanceLifecycle?.beginTerminal("internal-close");
11419
+ this.resetReplicationStatusLifecycle();
11180
11420
  const preserveDropRetryResources = options?.preserveDropRetryResources === true;
11181
11421
  let firstError;
11182
11422
  const capture = async (operation) => {
@@ -11350,6 +11590,7 @@ let SharedLog = (() => {
11350
11590
  this.preventParentAttachments();
11351
11591
  this.stopRepairLifecycle();
11352
11592
  this._instanceLifecycle?.beginTerminal("close");
11593
+ this.resetReplicationStatusLifecycle();
11353
11594
  this._v2Receive?.clearForClose();
11354
11595
  const replicationRangeTerminalFence = this.acquireReplicationRangeMutationTerminalFence();
11355
11596
  const pruneRemoveTerminalFence = this.acquirePruneRemoveTerminalFence();
@@ -11485,6 +11726,7 @@ let SharedLog = (() => {
11485
11726
  this.preventParentAttachments();
11486
11727
  this.stopRepairLifecycle();
11487
11728
  this._instanceLifecycle?.beginTerminal("drop");
11729
+ this.resetReplicationStatusLifecycle();
11488
11730
  this._v2Receive?.clearForClose();
11489
11731
  const replicationRangeTerminalFence = this.acquireReplicationRangeMutationTerminalFence();
11490
11732
  const pruneRemoveTerminalFence = this.acquirePruneRemoveTerminalFence();
@@ -17250,6 +17492,7 @@ let SharedLog = (() => {
17250
17492
  const usedMemory = await this.getMemoryUsage();
17251
17493
  if (!isCurrent())
17252
17494
  return false;
17495
+ this.scheduleReplicationStatusRefreshForStorage(usedMemory);
17253
17496
  let dynamicRange = await this.getDynamicRange();
17254
17497
  if (!isCurrent())
17255
17498
  return false;