@fluidframework/container-runtime 0.49.2 → 0.50.1
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/containerRuntime.d.ts +2 -2
- package/dist/containerRuntime.d.ts.map +1 -1
- package/dist/containerRuntime.js +73 -71
- package/dist/containerRuntime.js.map +1 -1
- package/dist/dataStoreContext.d.ts.map +1 -1
- package/dist/dataStoreContext.js +2 -1
- package/dist/dataStoreContext.js.map +1 -1
- package/dist/dataStores.d.ts.map +1 -1
- package/dist/dataStores.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.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/summarizer.d.ts +4 -1
- package/dist/summarizer.d.ts.map +1 -1
- package/dist/summarizer.js +3 -3
- package/dist/summarizer.js.map +1 -1
- package/dist/summarizerClientElection.d.ts +1 -1
- package/dist/summarizerClientElection.js +1 -1
- package/dist/summarizerClientElection.js.map +1 -1
- package/dist/summaryManager.d.ts +10 -3
- package/dist/summaryManager.d.ts.map +1 -1
- package/dist/summaryManager.js +9 -6
- package/dist/summaryManager.js.map +1 -1
- package/lib/containerRuntime.d.ts +2 -2
- package/lib/containerRuntime.d.ts.map +1 -1
- package/lib/containerRuntime.js +73 -71
- package/lib/containerRuntime.js.map +1 -1
- package/lib/dataStoreContext.d.ts.map +1 -1
- package/lib/dataStoreContext.js +2 -1
- package/lib/dataStoreContext.js.map +1 -1
- package/lib/dataStores.d.ts.map +1 -1
- package/lib/dataStores.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.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/summarizer.d.ts +4 -1
- package/lib/summarizer.d.ts.map +1 -1
- package/lib/summarizer.js +3 -3
- package/lib/summarizer.js.map +1 -1
- package/lib/summarizerClientElection.d.ts +1 -1
- package/lib/summarizerClientElection.js +1 -1
- package/lib/summarizerClientElection.js.map +1 -1
- package/lib/summaryManager.d.ts +10 -3
- package/lib/summaryManager.d.ts.map +1 -1
- package/lib/summaryManager.js +9 -6
- package/lib/summaryManager.js.map +1 -1
- package/package.json +16 -16
- package/src/containerRuntime.ts +106 -96
- package/src/dataStoreContext.ts +2 -1
- package/src/dataStores.ts +1 -1
- package/src/index.ts +1 -1
- package/src/packageVersion.ts +1 -1
- package/src/summarizer.ts +5 -2
- package/src/summarizerClientElection.ts +1 -1
- package/src/summaryManager.ts +17 -7
|
@@ -168,13 +168,13 @@ export declare class ContainerRuntime extends TypedEventEmitter<IContainerRuntim
|
|
|
168
168
|
readonly IFluidSerializer: IFluidSerializer;
|
|
169
169
|
readonly IFluidHandleContext: IFluidHandleContext;
|
|
170
170
|
private readonly _logger;
|
|
171
|
-
private readonly summarizerClientElection
|
|
171
|
+
private readonly summarizerClientElection?;
|
|
172
172
|
/**
|
|
173
173
|
* summaryManager will only be created if this client is permitted to spawn a summarizing client
|
|
174
174
|
* It is created only by interactive client, i.e. summarizer client, as well as non-interactive bots
|
|
175
175
|
* do not create it (see SummarizerClientElection.clientDetailsPermitElection() for details)
|
|
176
176
|
*/
|
|
177
|
-
private readonly summaryManager
|
|
177
|
+
private readonly summaryManager?;
|
|
178
178
|
private readonly summaryCollection;
|
|
179
179
|
private readonly summarizerNode;
|
|
180
180
|
private _orderSequentiallyCalls;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"containerRuntime.d.ts","sourceRoot":"","sources":["../src/containerRuntime.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAA0B,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC9F,OAAO,EACH,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,mBAAmB,EACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACH,SAAS,EACT,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EAEb,QAAQ,EACR,gBAAgB,EAChB,uBAAuB,EACvB,WAAW,EACX,cAAc,EACjB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACH,iBAAiB,EACjB,uBAAuB,EAC1B,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAGH,iBAAiB,EAEpB,MAAM,8BAA8B,CAAC;AAQtC,OAAO,EAAE,uBAAuB,EAAmB,MAAM,oCAAoC,CAAC;AAQ9F,OAAO,EACH,cAAc,EACd,gBAAgB,EAChB,OAAO,EACP,yBAAyB,EACzB,cAAc,EAEd,qBAAqB,EAErB,YAAY,EACZ,KAAK,EACL,WAAW,EAEd,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACH,SAAS,EAET,8BAA8B,EAC9B,uBAAuB,EACvB,sBAAsB,EAMtB,kCAAkC,EAClC,qBAAqB,EAMxB,MAAM,qCAAqC,CAAC;AAqB7C,OAAO,EAAE,kBAAkB,EAAuB,MAAM,uBAAuB,CAAC;AAoBhF,OAAO,EACH,mBAAmB,
|
|
1
|
+
{"version":3,"file":"containerRuntime.d.ts","sourceRoot":"","sources":["../src/containerRuntime.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAA0B,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC9F,OAAO,EACH,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,mBAAmB,EACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACH,SAAS,EACT,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EAEb,QAAQ,EACR,gBAAgB,EAChB,uBAAuB,EACvB,WAAW,EACX,cAAc,EACjB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACH,iBAAiB,EACjB,uBAAuB,EAC1B,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAGH,iBAAiB,EAEpB,MAAM,8BAA8B,CAAC;AAQtC,OAAO,EAAE,uBAAuB,EAAmB,MAAM,oCAAoC,CAAC;AAQ9F,OAAO,EACH,cAAc,EACd,gBAAgB,EAChB,OAAO,EACP,yBAAyB,EACzB,cAAc,EAEd,qBAAqB,EAErB,YAAY,EACZ,KAAK,EACL,WAAW,EAEd,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACH,SAAS,EAET,8BAA8B,EAC9B,uBAAuB,EACvB,sBAAsB,EAMtB,kCAAkC,EAClC,qBAAqB,EAMxB,MAAM,qCAAqC,CAAC;AAqB7C,OAAO,EAAE,kBAAkB,EAAuB,MAAM,uBAAuB,CAAC;AAoBhF,OAAO,EACH,mBAAmB,EAGnB,qBAAqB,EACrB,WAAW,EACX,4BAA4B,EAC5B,kBAAkB,EAClB,kBAAkB,EACrB,MAAM,mBAAmB,CAAC;AAI3B,oBAAY,oBAAoB;IAE5B,gBAAgB,cAAc;IAG9B,MAAM,WAAW;IAGjB,SAAS,cAAc;IAEvB,UAAU,eAAe;CAC5B;AAED,MAAM,WAAW,UAAU;IACvB,OAAO,EAAE,MAAM,CAAC;IAEhB,WAAW,EAAE,MAAM,CAAC;IAEpB,QAAQ,EAAE,MAAM,CAAC;IAEjB,YAAY,EAAE,WAAW,GAAG,oBAAoB,CAAC;CACpD;AAED,MAAM,WAAW,uBAAuB;IACpC,QAAQ,EAAE,GAAG,CAAC;IACd,IAAI,EAAE,oBAAoB,CAAC;CAC9B;AAsBD,iDAAiD;AACjD,MAAM,WAAW,QAAQ;IACrB,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,YAAY,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,eAAe,EAAE,MAAM,CAAC;IACxB,6DAA6D;IAC7D,iBAAiB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAE9B,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACnC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAG5B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC,yDAAyD;IACzD,sBAAsB,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAKxD,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAGlC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC,4DAA4D;IAC5D,iBAAiB,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;CAC7D;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B;;;;;;;OAOG;IACH,8BAA8B,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;CAC/D;AAeD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAW5E;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,yBAAyB,6BAmBtE;AAED,qBAAa,eAAe;IAQpB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAT3B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAqB;gBAGrB,YAAY,EAAE,aAAa,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,EACxE,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,gBAAgB;IA+CtC,cAAc,CAAC,OAAO,EAAE,yBAAyB;IA4BjD,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,SAAS,EAAE,OAAO,EAAE,yBAAyB;IAqBvE,SAAS,CAAC,WAAW,EAAE,OAAO;IAerC,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,YAAY;CA0BvB;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAE7C;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,iBAAiB,CAAC,uBAAuB,CAC3E,YACI,iBAAiB,EACjB,QAAQ,EACR,kBAAkB,EAClB,4BAA4B;IA4T5B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAIzB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,cAAc;aACf,MAAM,EAAE,gBAAgB;IAGxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC;IArUrB,IAAW,iBAAiB,SAAmB;IAC/C,IAAW,YAAY,SAAmB;IAG1C;;;OAGG;IACH,SAAgB,cAAc,EAAE,MAAM,CAAc;IAEpD;;;;;;;OAOG;WACiB,IAAI,CACpB,OAAO,EAAE,iBAAiB,EAC1B,eAAe,EAAE,kCAAkC,EACnD,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,SAAS,CAAC,EACtF,cAAc,GAAE,wBAA6B,EAC7C,cAAc,GAAE,YAA4B,EAC5C,QAAQ,CAAC,EAAE,OAAO,GACnB,OAAO,CAAC,gBAAgB,CAAC;IA+G5B,IAAW,EAAE,IAAI,MAAM,CAEtB;IAED,IAAW,OAAO,IAAI,cAAc,CAEnC;IAED,IAAW,QAAQ,IAAI,MAAM,GAAG,SAAS,CAExC;IAED,IAAW,aAAa,IAAI,cAAc,CAEzC;IAED,IAAW,YAAY,IAAI,aAAa,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,CAEpF;IAED,IAAW,OAAO,IAAI,uBAAuB,CAoB5C;IAED,IAAW,UAAU,IAAI,CACrB,IAAI,EAAE,oBAAoB,EAC1B,OAAO,EAAE,GAAG,EACZ,eAAe,EAAE,OAAO,EACxB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,KAC9C,IAAI,CAGR;IAED,IAAW,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,uBAAuB,KAAK,IAAI,CAE9D;IAED,IAAW,SAAS,IAAI,SAAS,CAEhC;IAED,IAAW,KAAK,IAAI,YAAY,CAE/B;IAED,IAAW,uBAAuB,IAAI,uBAAuB,CAE5D;IAED,IAAW,WAAW,IAAI,WAAW,CAEpC;IAGD,SAAgB,gBAAgB,EAAE,gBAAgB,CAAC;IAEnD,SAAgB,mBAAmB,EAAE,mBAAmB,CAAC;IAGzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAA2B;IACrE;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IAEtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4B;IAE3D,OAAO,CAAC,uBAAuB,CAAa;IAC5C,OAAO,CAAC,UAAU,CAAqC;IACvD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,UAAU,CAAU;IAE5B,OAAO,CAAC,MAAM,CAAkB;IAEhC,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED,oFAAoF;IACpF,IAAW,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAElD;IAED,OAAO,KAAK,oBAAoB,GAS/B;IAED,OAAO,CAAC,SAAS,CAAS;IAC1B,IAAW,QAAQ,YAA6B;IAEhD,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,sBAAsB,CAAQ;IACtC;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAa;IAC1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAe;IAC3C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAG1D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IAEjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IAGxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAa;IAE9C,OAAO,CAAC,sBAAsB,CAAY;IAE1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IAEtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC;;;;OAIG;IACH,SAAgB,uBAAuB,EAAE,OAAO,CAAC;IACjD,qFAAqF;IACrF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAsC;IAEzE,OAAO,CAAC,MAAM,KAAK,gBAAgB,GAElC;IAGD,OAAO,KAAK,SAAS,GAEpB;IAID,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED,OAAO,KAAK,UAAU,GAGrB;IAED,OAAO;IAuPA,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;IAyBnC,IAAW,mBAAmB,oCAQ7B;IAED,IAAW,mBAAmB,IAAI,mBAAmB,CAEpD;IAED;;;OAGG;IACU,OAAO,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;IAyB3D;;;OAGG;IACU,aAAa,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;IA+CjE,OAAO,KAAK,mBAAmB,GAI9B;IAED,OAAO,CAAC,YAAY;IAapB;;;;;;;OAOG;YACW,iCAAiC;IAc/C;;;OAGG;IACU,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC;IAyBvC,OAAO,CAAC,0BAA0B;IAuBlC;;;OAGG;IACU,IAAI,IAAI,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAC,CAAC;IAK/D,OAAO,CAAC,mBAAmB;IA8B3B;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,CAAC,IAAI,CAYnB;YAEY,cAAc;IAerB,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM;IAkBxD,OAAO,CAAC,UAAU,EAAE,yBAAyB,EAAE,KAAK,EAAE,OAAO;IA6D7D,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO;IAiB/C,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,UAAO,GAAG,OAAO,CAAC,YAAY,CAAC;cAM7D,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,UAAO,GAAG,OAAO,CAAC,YAAY,CAAC;IAIrE,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAgBnC,KAAK,IAAI,IAAI;IAuBb,iBAAiB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAsBpD,OAAO,CAAC,2BAA2B;IAStB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAI9D,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAMjG,2BAA2B,CAC9B,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,EACvB,eAAe,EAAE,MAAM,GAAG,8BAA8B;IAKrD,uBAAuB,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,8BAA8B;IAI1E,yBAAyB,CAClC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EACtB,KAAK,CAAC,EAAE,GAAG,EACX,EAAE,SAAS,EACX,MAAM,UAAQ,GACf,OAAO,CAAC,sBAAsB,CAAC;YASpB,gBAAgB;IAQ9B,OAAO,CAAC,UAAU;IAIX,SAAS,IAAI,OAAO;IAIpB,WAAW,IAAI,SAAS;IAM/B,SAAgB,qBAAqB,YAAa,gBAAgB,UAEhE;IAEF;;;OAGG;IACH,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED,OAAO,CAAC,2BAA2B;IAiBnC;;;;OAIG;IACI,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAMvC,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAKjE,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,SAAS,GAAG,WAAW,CAAC,QAAQ,GAAG,IAAI;IAYtF;;;;;;OAMG;IACI,aAAa,CAAC,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,YAAY;IAc9D,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAU7E;;;OAGG;IACU,cAAc,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAE,OAAe,GAAG,OAAO,CAAC,QAAQ,CAAC;YA+CnF,iBAAiB;IAiB/B;;OAEG;IACU,SAAS,CAAC,OAAO,EAAE;QAC5B,kDAAkD;QAClD,aAAa,EAAE,gBAAgB,CAAC;QAChC,2FAA2F;QAC3F,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,wFAAwF;QACxF,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,0EAA0E;QAC1E,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,uDAAuD;QACvD,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,yEAAyE;QACzE,QAAQ,CAAC,EAAE,OAAO,CAAC;KACtB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAclC;;;;;;;OAOG;IACU,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAmLxF,OAAO,CAAC,2BAA2B;IAoBnC,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,wBAAwB;IAezB,iBAAiB,CACpB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,GAAG,EACb,eAAe,GAAE,OAAmB,GAAG,IAAI;IAQlC,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IAKtF,OAAO,CAAC,MAAM;IAmEd,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,oBAAoB;IAgB5B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAMvB;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IAyBhB,6EAA6E;IAChE,uBAAuB,CAChC,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,gBAAgB;IA4BnC;;;;;OAKG;YACW,iCAAiC;IA6B/C;;OAEG;YACW,kCAAkC;YASlC,wBAAwB;IAkB/B,oBAAoB;IAI3B,SAAgB,iBAAiB,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAajE;IAEF,SAAgB,gBAAgB,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAa/D;CACL"}
|
package/dist/containerRuntime.js
CHANGED
|
@@ -32,6 +32,7 @@ const localStorageFeatureGates_1 = require("./localStorageFeatureGates");
|
|
|
32
32
|
const orderedClientElection_1 = require("./orderedClientElection");
|
|
33
33
|
const summarizerClientElection_1 = require("./summarizerClientElection");
|
|
34
34
|
const throttler_1 = require("./throttler");
|
|
35
|
+
const runWhileConnectedCoordinator_1 = require("./runWhileConnectedCoordinator");
|
|
35
36
|
var ContainerMessageType;
|
|
36
37
|
(function (ContainerMessageType) {
|
|
37
38
|
// An op to be delivered to store
|
|
@@ -297,6 +298,7 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
297
298
|
this.closeFn(telemetry_utils_1.normalizeError(error));
|
|
298
299
|
});
|
|
299
300
|
};
|
|
301
|
+
// @deprecated Needs to become private
|
|
300
302
|
this.raiseContainerWarning = (warning) => {
|
|
301
303
|
this.context.raiseContainerWarning(warning);
|
|
302
304
|
};
|
|
@@ -390,40 +392,45 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
390
392
|
}
|
|
391
393
|
});
|
|
392
394
|
this.summaryCollection = new summaryCollection_1.SummaryCollection(this.deltaManager, this.logger);
|
|
393
|
-
const maxOpsSinceLastSummary = (_d = this.runtimeOptions.summaryOptions.maxOpsSinceLastSummary) !== null && _d !== void 0 ? _d : 7000;
|
|
394
|
-
const defaultAction = () => {
|
|
395
|
-
if (this.summaryCollection.opsSinceLastAck > maxOpsSinceLastSummary) {
|
|
396
|
-
this.logger.sendErrorEvent({ eventName: "SummaryStatus:Behind" });
|
|
397
|
-
// unregister default to no log on every op after falling behind
|
|
398
|
-
// and register summary ack handler to re-register this handler
|
|
399
|
-
// after successful summary
|
|
400
|
-
this.summaryCollection.once(protocol_definitions_1.MessageType.SummaryAck, () => {
|
|
401
|
-
this.logger.sendTelemetryEvent({ eventName: "SummaryStatus:CaughtUp" });
|
|
402
|
-
// we've caught up, so re-register the default action to monitor for
|
|
403
|
-
// falling behind, and unregister ourself
|
|
404
|
-
this.summaryCollection.on("default", defaultAction);
|
|
405
|
-
});
|
|
406
|
-
this.summaryCollection.off("default", defaultAction);
|
|
407
|
-
}
|
|
408
|
-
};
|
|
409
|
-
this.summaryCollection.on("default", defaultAction);
|
|
410
|
-
const orderedClientLogger = telemetry_utils_1.ChildLogger.create(this.logger, "OrderedClientElection");
|
|
411
|
-
const orderedClientCollection = new orderedClientElection_1.OrderedClientCollection(orderedClientLogger, this.context.deltaManager, this.context.quorum);
|
|
412
|
-
const orderedClientElectionForSummarizer = new orderedClientElection_1.OrderedClientElection(orderedClientLogger, orderedClientCollection, electedSummarizerData !== null && electedSummarizerData !== void 0 ? electedSummarizerData : this.context.deltaManager.lastSequenceNumber, summarizerClientElection_1.SummarizerClientElection.isClientEligible);
|
|
413
|
-
const summarizerClientElectionEnabled = (_e = localStorageFeatureGates_1.getLocalStorageFeatureGate("summarizerClientElection")) !== null && _e !== void 0 ? _e : ((_f = this.runtimeOptions.summaryOptions) === null || _f === void 0 ? void 0 : _f.summarizerClientElection) === true;
|
|
414
|
-
this.summarizerClientElection = new summarizerClientElection_1.SummarizerClientElection(orderedClientLogger, this.summaryCollection, orderedClientElectionForSummarizer, maxOpsSinceLastSummary, summarizerClientElectionEnabled);
|
|
415
395
|
// Only create a SummaryManager if summaries are enabled and we are not the summarizer client
|
|
416
396
|
if (this.runtimeOptions.summaryOptions.generateSummaries === false) {
|
|
417
397
|
this._logger.sendTelemetryEvent({ eventName: "SummariesDisabled" });
|
|
418
398
|
}
|
|
419
399
|
else {
|
|
400
|
+
const maxOpsSinceLastSummary = (_d = this.runtimeOptions.summaryOptions.maxOpsSinceLastSummary) !== null && _d !== void 0 ? _d : 7000;
|
|
401
|
+
const defaultAction = () => {
|
|
402
|
+
if (this.summaryCollection.opsSinceLastAck > maxOpsSinceLastSummary) {
|
|
403
|
+
this.logger.sendErrorEvent({ eventName: "SummaryStatus:Behind" });
|
|
404
|
+
// unregister default to no log on every op after falling behind
|
|
405
|
+
// and register summary ack handler to re-register this handler
|
|
406
|
+
// after successful summary
|
|
407
|
+
this.summaryCollection.once(protocol_definitions_1.MessageType.SummaryAck, () => {
|
|
408
|
+
this.logger.sendTelemetryEvent({ eventName: "SummaryStatus:CaughtUp" });
|
|
409
|
+
// we've caught up, so re-register the default action to monitor for
|
|
410
|
+
// falling behind, and unregister ourself
|
|
411
|
+
this.summaryCollection.on("default", defaultAction);
|
|
412
|
+
});
|
|
413
|
+
this.summaryCollection.off("default", defaultAction);
|
|
414
|
+
}
|
|
415
|
+
};
|
|
416
|
+
this.summaryCollection.on("default", defaultAction);
|
|
417
|
+
const orderedClientLogger = telemetry_utils_1.ChildLogger.create(this.logger, "OrderedClientElection");
|
|
418
|
+
const orderedClientCollection = new orderedClientElection_1.OrderedClientCollection(orderedClientLogger, this.context.deltaManager, this.context.quorum);
|
|
419
|
+
const orderedClientElectionForSummarizer = new orderedClientElection_1.OrderedClientElection(orderedClientLogger, orderedClientCollection, electedSummarizerData !== null && electedSummarizerData !== void 0 ? electedSummarizerData : this.context.deltaManager.lastSequenceNumber, summarizerClientElection_1.SummarizerClientElection.isClientEligible);
|
|
420
|
+
const summarizerClientElectionEnabled = (_e = localStorageFeatureGates_1.getLocalStorageFeatureGate("summarizerClientElection")) !== null && _e !== void 0 ? _e : ((_f = this.runtimeOptions.summaryOptions) === null || _f === void 0 ? void 0 : _f.summarizerClientElection) === true;
|
|
421
|
+
this.summarizerClientElection = new summarizerClientElection_1.SummarizerClientElection(orderedClientLogger, this.summaryCollection, orderedClientElectionForSummarizer, maxOpsSinceLastSummary, summarizerClientElectionEnabled);
|
|
420
422
|
if (this.context.clientDetails.type === summarizerClientElection_1.summarizerClientType) {
|
|
421
|
-
this._summarizer = new summarizer_1.Summarizer("/_summarizer", this /* ISummarizerRuntime */, () => this.summaryConfiguration, this /* ISummarizerInternalsProvider */, this.IFluidHandleContext, this.summaryCollection);
|
|
423
|
+
this._summarizer = new summarizer_1.Summarizer("/_summarizer", this /* ISummarizerRuntime */, () => this.summaryConfiguration, this /* ISummarizerInternalsProvider */, this.IFluidHandleContext, this.summaryCollection, async (runtime) => runWhileConnectedCoordinator_1.RunWhileConnectedCoordinator.create(runtime));
|
|
422
424
|
}
|
|
423
425
|
else if (summarizerClientElection_1.SummarizerClientElection.clientDetailsPermitElection(this.context.clientDetails)) {
|
|
424
426
|
// Create the SummaryManager and mark the initial state
|
|
427
|
+
const requestOptions = {
|
|
428
|
+
cache: false,
|
|
429
|
+
reconnect: false,
|
|
430
|
+
summarizingClient: true,
|
|
431
|
+
};
|
|
425
432
|
this.summaryManager = new summaryManager_1.SummaryManager(this.summarizerClientElection, this, // IConnectedState
|
|
426
|
-
this.summaryCollection, this.logger, summaryManager_1.formRequestSummarizerFn(this.context.loader, this.context.deltaManager), new throttler_1.Throttler(60 * 1000, // 60 sec delay window
|
|
433
|
+
this.summaryCollection, this.logger, summaryManager_1.formRequestSummarizerFn(this.context.loader, this.context.deltaManager.lastSequenceNumber, requestOptions), new throttler_1.Throttler(60 * 1000, // 60 sec delay window
|
|
427
434
|
30 * 1000, // 30 sec max delay
|
|
428
435
|
// throttling function increases exponentially (0ms, 40ms, 80ms, 160ms, etc)
|
|
429
436
|
throttler_1.formExponentialFn({ coefficient: 20, initialDelay: 0 })), {
|
|
@@ -598,7 +605,8 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
598
605
|
}
|
|
599
606
|
/** clientId of parent (non-summarizing) container that owns summarizer container */
|
|
600
607
|
get summarizerClientId() {
|
|
601
|
-
|
|
608
|
+
var _a;
|
|
609
|
+
return (_a = this.summarizerClientElection) === null || _a === void 0 ? void 0 : _a.electedClientId;
|
|
602
610
|
}
|
|
603
611
|
get summaryConfiguration() {
|
|
604
612
|
var _a, _b, _c;
|
|
@@ -796,6 +804,7 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
796
804
|
return root;
|
|
797
805
|
}
|
|
798
806
|
addContainerBlobsToSummary(summaryTree) {
|
|
807
|
+
var _a;
|
|
799
808
|
if (this.shouldWriteMetadata) {
|
|
800
809
|
runtime_utils_1.addBlobToSummary(summaryTree, summaryFormat_1.metadataBlobName, JSON.stringify(this.formMetadata()));
|
|
801
810
|
}
|
|
@@ -803,8 +812,10 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
803
812
|
const content = JSON.stringify([...this.chunkMap]);
|
|
804
813
|
runtime_utils_1.addBlobToSummary(summaryTree, summaryFormat_1.chunksBlobName, content);
|
|
805
814
|
}
|
|
806
|
-
|
|
807
|
-
|
|
815
|
+
if (this.summarizerClientElection) {
|
|
816
|
+
const electedSummarizerContent = JSON.stringify((_a = this.summarizerClientElection) === null || _a === void 0 ? void 0 : _a.serialize());
|
|
817
|
+
runtime_utils_1.addBlobToSummary(summaryTree, summaryFormat_1.electedSummarizerBlobName, electedSummarizerContent);
|
|
818
|
+
}
|
|
808
819
|
const snapshot = this.blobManager.snapshot();
|
|
809
820
|
// Some storage (like git) doesn't allow empty tree, so we can omit it.
|
|
810
821
|
// and the blob manager can handle the tree not existing when loading
|
|
@@ -1013,7 +1024,7 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
1013
1024
|
}
|
|
1014
1025
|
async createRootDataStore(pkg, rootDataStoreId) {
|
|
1015
1026
|
const fluidDataStore = await this._createDataStore(pkg, true /* isRoot */, rootDataStoreId);
|
|
1016
|
-
fluidDataStore.
|
|
1027
|
+
fluidDataStore.attachGraph();
|
|
1017
1028
|
return fluidDataStore;
|
|
1018
1029
|
}
|
|
1019
1030
|
createDetachedRootDataStore(pkg, rootDataStoreId) {
|
|
@@ -1023,7 +1034,11 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
1023
1034
|
return this.dataStores.createDetachedDataStoreCore(pkg, false);
|
|
1024
1035
|
}
|
|
1025
1036
|
async _createDataStoreWithProps(pkg, props, id = uuid_1.v4(), isRoot = false) {
|
|
1026
|
-
|
|
1037
|
+
const fluidDataStore = await this.dataStores._createFluidDataStoreContext(Array.isArray(pkg) ? pkg : [pkg], id, isRoot, props).realize();
|
|
1038
|
+
if (isRoot) {
|
|
1039
|
+
fluidDataStore.attachGraph();
|
|
1040
|
+
}
|
|
1041
|
+
return fluidDataStore;
|
|
1027
1042
|
}
|
|
1028
1043
|
async _createDataStore(pkg, isRoot, id = uuid_1.v4()) {
|
|
1029
1044
|
return this.dataStores._createFluidDataStoreContext(Array.isArray(pkg) ? pkg : [pkg], id, isRoot).realize();
|
|
@@ -1122,39 +1137,33 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
1122
1137
|
return telemetry_utils_1.PerformanceEvent.timedExecAsync(logger, { eventName: "GarbageCollection" }, async (event) => {
|
|
1123
1138
|
var _a;
|
|
1124
1139
|
const gcStats = {};
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
this.dataStores.deleteUnusedRoutes(deletedNodeIds);
|
|
1149
|
-
}
|
|
1150
|
-
}
|
|
1151
|
-
catch (error) {
|
|
1152
|
-
event.cancel(gcStats, error);
|
|
1153
|
-
throw error;
|
|
1140
|
+
// Get the container's GC data and run GC on the reference graph in it.
|
|
1141
|
+
const gcData = await this.dataStores.getGCData(fullGC);
|
|
1142
|
+
const { referencedNodeIds, deletedNodeIds } = garbage_collector_1.runGarbageCollection(gcData.gcNodes, ["/"], this.logger);
|
|
1143
|
+
// Update our summarizer node's used routes. Updating used routes in summarizer node before
|
|
1144
|
+
// summarizing is required and asserted by the the summarizer node. We are the root and are
|
|
1145
|
+
// always referenced, so the used routes is only self-route (empty string).
|
|
1146
|
+
this.summarizerNode.updateUsedRoutes([""]);
|
|
1147
|
+
// Remove this node's route ("/") and notify data stores of routes that are used in it.
|
|
1148
|
+
const usedRoutes = referencedNodeIds.filter((id) => { return id !== "/"; });
|
|
1149
|
+
const { dataStoreCount, unusedDataStoreCount } = this.dataStores.updateUsedRoutes(usedRoutes, (_a =
|
|
1150
|
+
// For now, we use the timestamp of the last op for gcTimestamp. However, there can be cases where
|
|
1151
|
+
// we don't have an op (on demand summaries for instance). In those cases, we will use the timestamp
|
|
1152
|
+
// of this client's connection - https://github.com/microsoft/FluidFramework/issues/7152.
|
|
1153
|
+
this.deltaManager.lastMessage) === null || _a === void 0 ? void 0 : _a.timestamp);
|
|
1154
|
+
// Update stats to be reported in the peformance event.
|
|
1155
|
+
gcStats.deletedNodes = deletedNodeIds.length;
|
|
1156
|
+
gcStats.totalNodes = referencedNodeIds.length + deletedNodeIds.length;
|
|
1157
|
+
gcStats.deletedDataStores = unusedDataStoreCount;
|
|
1158
|
+
gcStats.totalDataStores = dataStoreCount;
|
|
1159
|
+
// If we are running in GC test mode, delete objects for unused routes. This enables testing scenarios
|
|
1160
|
+
// involving access to deleted data.
|
|
1161
|
+
if (this.gcTestMode) {
|
|
1162
|
+
this.dataStores.deleteUnusedRoutes(deletedNodeIds);
|
|
1154
1163
|
}
|
|
1155
1164
|
event.end(gcStats);
|
|
1156
1165
|
return gcStats;
|
|
1157
|
-
});
|
|
1166
|
+
}, { end: true, cancel: "error" });
|
|
1158
1167
|
}
|
|
1159
1168
|
async summarizeInternal(fullTree, trackState) {
|
|
1160
1169
|
const summarizeResult = await this.dataStores.summarize(fullTree, trackState);
|
|
@@ -1550,10 +1559,8 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
1550
1559
|
}
|
|
1551
1560
|
}
|
|
1552
1561
|
async fetchSnapshotFromStorage(versionId, logger, event) {
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
let snapshot;
|
|
1556
|
-
try {
|
|
1562
|
+
return telemetry_utils_1.PerformanceEvent.timedExecAsync(logger, event, async (perfEvent) => {
|
|
1563
|
+
const stats = {};
|
|
1557
1564
|
const trace = common_utils_1.Trace.start();
|
|
1558
1565
|
const versions = await this.storage.getVersions(versionId, 1);
|
|
1559
1566
|
common_utils_1.assert(!!versions && !!versions[0], 0x137 /* "Failed to get version from storage" */);
|
|
@@ -1561,14 +1568,9 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
1561
1568
|
const maybeSnapshot = await this.storage.getSnapshotTree(versions[0]);
|
|
1562
1569
|
common_utils_1.assert(!!maybeSnapshot, 0x138 /* "Failed to get snapshot from storage" */);
|
|
1563
1570
|
stats.getSnapshotDuration = trace.trace().duration;
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
perfEvent.cancel(stats, error);
|
|
1568
|
-
throw error;
|
|
1569
|
-
}
|
|
1570
|
-
perfEvent.end(stats);
|
|
1571
|
-
return snapshot;
|
|
1571
|
+
perfEvent.end(stats);
|
|
1572
|
+
return maybeSnapshot;
|
|
1573
|
+
});
|
|
1572
1574
|
}
|
|
1573
1575
|
getPendingLocalState() {
|
|
1574
1576
|
return this.pendingStateManager.getLocalState();
|