@fluidframework/container-runtime 2.10.0-304831 → 2.10.0-306579
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/.eslintrc.cjs +1 -0
- package/api-report/container-runtime.legacy.alpha.api.md +1 -1
- package/container-runtime.test-files.tar +0 -0
- package/dist/blobManager/blobManager.d.ts +6 -1
- package/dist/blobManager/blobManager.d.ts.map +1 -1
- package/dist/blobManager/blobManager.js +22 -3
- package/dist/blobManager/blobManager.js.map +1 -1
- package/dist/connectionTelemetry.d.ts +2 -3
- package/dist/connectionTelemetry.d.ts.map +1 -1
- package/dist/connectionTelemetry.js.map +1 -1
- package/dist/containerHandleContext.d.ts +6 -2
- package/dist/containerHandleContext.d.ts.map +1 -1
- package/dist/containerHandleContext.js.map +1 -1
- package/dist/containerRuntime.d.ts +2 -1
- package/dist/containerRuntime.d.ts.map +1 -1
- package/dist/containerRuntime.js +15 -6
- package/dist/containerRuntime.js.map +1 -1
- package/dist/deltaManagerProxies.d.ts +8 -8
- package/dist/deltaManagerProxies.d.ts.map +1 -1
- package/dist/deltaManagerProxies.js.map +1 -1
- package/dist/deltaScheduler.d.ts +3 -3
- package/dist/deltaScheduler.d.ts.map +1 -1
- package/dist/deltaScheduler.js.map +1 -1
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/scheduleManager.d.ts +3 -3
- package/dist/scheduleManager.d.ts.map +1 -1
- package/dist/scheduleManager.js.map +1 -1
- package/lib/blobManager/blobManager.d.ts +6 -1
- package/lib/blobManager/blobManager.d.ts.map +1 -1
- package/lib/blobManager/blobManager.js +22 -3
- package/lib/blobManager/blobManager.js.map +1 -1
- package/lib/connectionTelemetry.d.ts +2 -3
- package/lib/connectionTelemetry.d.ts.map +1 -1
- package/lib/connectionTelemetry.js.map +1 -1
- package/lib/containerHandleContext.d.ts +6 -2
- package/lib/containerHandleContext.d.ts.map +1 -1
- package/lib/containerHandleContext.js.map +1 -1
- package/lib/containerRuntime.d.ts +2 -1
- package/lib/containerRuntime.d.ts.map +1 -1
- package/lib/containerRuntime.js +16 -7
- package/lib/containerRuntime.js.map +1 -1
- package/lib/deltaManagerProxies.d.ts +8 -8
- package/lib/deltaManagerProxies.d.ts.map +1 -1
- package/lib/deltaManagerProxies.js.map +1 -1
- package/lib/deltaScheduler.d.ts +3 -3
- package/lib/deltaScheduler.d.ts.map +1 -1
- package/lib/deltaScheduler.js.map +1 -1
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/lib/scheduleManager.d.ts +3 -3
- package/lib/scheduleManager.d.ts.map +1 -1
- package/lib/scheduleManager.js.map +1 -1
- package/package.json +70 -18
- package/src/blobManager/blobManager.ts +27 -4
- package/src/connectionTelemetry.ts +3 -3
- package/src/containerHandleContext.ts +5 -2
- package/src/containerRuntime.ts +17 -12
- package/src/deltaManagerProxies.ts +5 -18
- package/src/deltaScheduler.ts +4 -7
- package/src/packageVersion.ts +1 -1
- package/src/scheduleManager.ts +3 -3
package/lib/containerRuntime.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { Trace, TypedEventEmitter } from "@fluid-internal/client-utils";
|
|
6
6
|
import { AttachState, } from "@fluidframework/container-definitions";
|
|
7
|
-
import { LoaderHeader, } from "@fluidframework/container-definitions/internal";
|
|
7
|
+
import { LoaderHeader, isIDeltaManagerFull, } from "@fluidframework/container-definitions/internal";
|
|
8
8
|
import { assert, Deferred, LazyPromise, PromiseCache, delay, } from "@fluidframework/core-utils/internal";
|
|
9
9
|
import { SummaryType, } from "@fluidframework/driver-definitions";
|
|
10
10
|
import { DriverHeader, FetchSource, MessageType, } from "@fluidframework/driver-definitions/internal";
|
|
@@ -506,6 +506,14 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
506
506
|
get IFluidHandleContext() {
|
|
507
507
|
return this.handleContext;
|
|
508
508
|
}
|
|
509
|
+
/**
|
|
510
|
+
* This is a proxy to the delta manager provided by the container context (innerDeltaManager). It restricts certain
|
|
511
|
+
* accesses such as sets "read-only" mode for the summarizer client. This is the default delta manager that should
|
|
512
|
+
* be used unless the innerDeltaManager is required.
|
|
513
|
+
*/
|
|
514
|
+
get deltaManager() {
|
|
515
|
+
return this._deltaManager;
|
|
516
|
+
}
|
|
509
517
|
/**
|
|
510
518
|
* Invokes the given callback and expects that no ops are submitted
|
|
511
519
|
* until execution finishes. If an op is submitted, an error will be raised.
|
|
@@ -637,6 +645,7 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
637
645
|
: Number.POSITIVE_INFINITY,
|
|
638
646
|
compressionAlgorithm: CompressionAlgorithms.lz4,
|
|
639
647
|
};
|
|
648
|
+
assert(isIDeltaManagerFull(deltaManager), "Invalid delta manager");
|
|
640
649
|
this.innerDeltaManager = deltaManager;
|
|
641
650
|
// Here we could wrap/intercept on these functions to block/modify outgoing messages if needed.
|
|
642
651
|
// This makes ContainerRuntime the final gatekeeper for outgoing messages.
|
|
@@ -731,7 +740,7 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
731
740
|
const pendingOpsDeltaManagerProxy = new DeltaManagerPendingOpsProxy(summarizerDeltaManagerProxy, this.pendingStateManager);
|
|
732
741
|
outerDeltaManager = pendingOpsDeltaManagerProxy;
|
|
733
742
|
}
|
|
734
|
-
this.
|
|
743
|
+
this._deltaManager = outerDeltaManager;
|
|
735
744
|
this.handleContext = new ContainerFluidHandleContext("", this);
|
|
736
745
|
if (this.summaryConfiguration.state === "enabled") {
|
|
737
746
|
this.validateSummaryHeuristicConfiguration(this.summaryConfiguration);
|
|
@@ -992,7 +1001,7 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
992
1001
|
groupedBatchingEnabled: this.groupedBatchingEnabled,
|
|
993
1002
|
initialSequenceNumber: this.deltaManager.initialSequenceNumber,
|
|
994
1003
|
});
|
|
995
|
-
ReportOpPerfTelemetry(this.clientId, this.
|
|
1004
|
+
ReportOpPerfTelemetry(this.clientId, this._deltaManager, this, this.logger);
|
|
996
1005
|
BindBatchTracker(this, this.logger);
|
|
997
1006
|
this.entryPoint = new LazyPromise(async () => {
|
|
998
1007
|
if (this.isSummarizerClient) {
|
|
@@ -1136,8 +1145,8 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
1136
1145
|
});
|
|
1137
1146
|
// If the inbound deltas queue is paused or disconnected, we expect a reconnect and unpause
|
|
1138
1147
|
// as long as it's not a summarizer client.
|
|
1139
|
-
if (this.
|
|
1140
|
-
props.inboundPaused = this.
|
|
1148
|
+
if (this._deltaManager.inbound.paused) {
|
|
1149
|
+
props.inboundPaused = this._deltaManager.inbound.paused; // reusing telemetry
|
|
1141
1150
|
}
|
|
1142
1151
|
const defP = new Deferred();
|
|
1143
1152
|
this.deltaManager.on("op", (message) => {
|
|
@@ -2423,7 +2432,7 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
2423
2432
|
const shouldPauseInboundSignal = this.mc.config.getBoolean("Fluid.ContainerRuntime.SubmitSummary.disableInboundSignalPause") !== true;
|
|
2424
2433
|
const shouldValidatePreSummaryState = this.mc.config.getBoolean("Fluid.ContainerRuntime.SubmitSummary.shouldValidatePreSummaryState") === true;
|
|
2425
2434
|
try {
|
|
2426
|
-
await this.
|
|
2435
|
+
await this._deltaManager.inbound.pause();
|
|
2427
2436
|
if (shouldPauseInboundSignal) {
|
|
2428
2437
|
await this.deltaManager.inboundSignal.pause();
|
|
2429
2438
|
}
|
|
@@ -2643,7 +2652,7 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
2643
2652
|
// ! This needs to happen before we resume inbound queues to ensure heuristics are tracked correctly
|
|
2644
2653
|
this._summarizer?.recordSummaryAttempt?.(summaryRefSeqNum);
|
|
2645
2654
|
// Restart the delta manager
|
|
2646
|
-
this.
|
|
2655
|
+
this._deltaManager.inbound.resume();
|
|
2647
2656
|
if (shouldPauseInboundSignal) {
|
|
2648
2657
|
this.deltaManager.inboundSignal.resume();
|
|
2649
2658
|
}
|