@fluidframework/container-runtime 2.0.0-dev-rc.5.0.0.263932 → 2.0.0-dev-rc.5.0.0.265721
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/api-report/container-runtime.api.md +31 -40
- package/dist/batchTracker.js.map +1 -1
- package/dist/blobManager.d.ts +2 -2
- package/dist/blobManager.d.ts.map +1 -1
- package/dist/blobManager.js +1 -1
- package/dist/blobManager.js.map +1 -1
- package/dist/channelCollection.d.ts +2 -2
- package/dist/channelCollection.d.ts.map +1 -1
- package/dist/channelCollection.js +3 -3
- package/dist/channelCollection.js.map +1 -1
- package/dist/connectionTelemetry.js.map +1 -1
- package/dist/containerHandleContext.d.ts +2 -1
- package/dist/containerHandleContext.d.ts.map +1 -1
- package/dist/containerHandleContext.js.map +1 -1
- package/dist/containerRuntime.d.ts +10 -17
- package/dist/containerRuntime.d.ts.map +1 -1
- package/dist/containerRuntime.js +62 -104
- package/dist/containerRuntime.js.map +1 -1
- package/dist/dataStore.d.ts.map +1 -1
- package/dist/dataStore.js.map +1 -1
- package/dist/dataStoreContext.d.ts +6 -6
- package/dist/dataStoreContext.d.ts.map +1 -1
- package/dist/dataStoreContext.js +3 -3
- package/dist/dataStoreContext.js.map +1 -1
- package/dist/dataStoreContexts.js.map +1 -1
- package/dist/dataStoreRegistry.js.map +1 -1
- package/dist/deltaManagerProxies.js.map +1 -1
- package/dist/deltaScheduler.js.map +1 -1
- package/dist/gc/garbageCollection.d.ts +1 -2
- package/dist/gc/garbageCollection.d.ts.map +1 -1
- package/dist/gc/garbageCollection.js +1 -1
- package/dist/gc/garbageCollection.js.map +1 -1
- package/dist/gc/gcConfigs.d.ts.map +1 -1
- package/dist/gc/gcConfigs.js +14 -19
- package/dist/gc/gcConfigs.js.map +1 -1
- package/dist/gc/gcDefinitions.d.ts +4 -22
- package/dist/gc/gcDefinitions.d.ts.map +1 -1
- package/dist/gc/gcDefinitions.js +3 -3
- package/dist/gc/gcDefinitions.js.map +1 -1
- package/dist/gc/gcHelpers.d.ts +1 -2
- package/dist/gc/gcHelpers.d.ts.map +1 -1
- package/dist/gc/gcHelpers.js.map +1 -1
- package/dist/gc/gcReferenceGraphAlgorithm.js.map +1 -1
- package/dist/gc/gcSummaryDefinitions.d.ts +1 -1
- package/dist/gc/gcSummaryDefinitions.d.ts.map +1 -1
- package/dist/gc/gcSummaryDefinitions.js.map +1 -1
- package/dist/gc/gcSummaryStateTracker.d.ts +1 -1
- package/dist/gc/gcSummaryStateTracker.d.ts.map +1 -1
- package/dist/gc/gcSummaryStateTracker.js.map +1 -1
- package/dist/gc/gcTelemetry.d.ts +1 -1
- package/dist/gc/gcTelemetry.d.ts.map +1 -1
- package/dist/gc/gcTelemetry.js +2 -2
- package/dist/gc/gcTelemetry.js.map +1 -1
- package/dist/gc/gcUnreferencedStateTracker.js.map +1 -1
- package/dist/gc/index.d.ts +1 -1
- package/dist/gc/index.d.ts.map +1 -1
- package/dist/gc/index.js +2 -2
- package/dist/gc/index.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/legacy.d.ts +1 -1
- package/dist/opLifecycle/batchManager.js.map +1 -1
- package/dist/opLifecycle/opCompressor.js.map +1 -1
- package/dist/opLifecycle/opDecompressor.js.map +1 -1
- package/dist/opLifecycle/opGroupingManager.js.map +1 -1
- package/dist/opLifecycle/opSplitter.js.map +1 -1
- package/dist/opLifecycle/outbox.d.ts +1 -0
- package/dist/opLifecycle/outbox.d.ts.map +1 -1
- package/dist/opLifecycle/outbox.js +2 -16
- package/dist/opLifecycle/outbox.js.map +1 -1
- package/dist/opLifecycle/remoteMessageProcessor.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/pendingStateManager.js.map +1 -1
- package/dist/scheduleManager.js.map +1 -1
- package/dist/storageServiceWithAttachBlobs.js.map +1 -1
- package/dist/summary/documentSchema.js +1 -1
- package/dist/summary/documentSchema.js.map +1 -1
- package/dist/summary/index.d.ts +1 -1
- package/dist/summary/index.d.ts.map +1 -1
- package/dist/summary/index.js.map +1 -1
- package/dist/summary/orderedClientElection.d.ts +3 -1
- package/dist/summary/orderedClientElection.d.ts.map +1 -1
- package/dist/summary/orderedClientElection.js +35 -13
- package/dist/summary/orderedClientElection.js.map +1 -1
- package/dist/summary/runWhileConnectedCoordinator.js.map +1 -1
- package/dist/summary/runningSummarizer.d.ts +0 -5
- package/dist/summary/runningSummarizer.d.ts.map +1 -1
- package/dist/summary/runningSummarizer.js +19 -104
- package/dist/summary/runningSummarizer.js.map +1 -1
- package/dist/summary/summarizer.d.ts +1 -1
- package/dist/summary/summarizer.d.ts.map +1 -1
- package/dist/summary/summarizer.js +4 -1
- package/dist/summary/summarizer.js.map +1 -1
- package/dist/summary/summarizerClientElection.js.map +1 -1
- package/dist/summary/summarizerHeuristics.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNode.d.ts +1 -2
- package/dist/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNode.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts +1 -2
- package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
- package/dist/summary/summarizerTypes.d.ts +15 -26
- package/dist/summary/summarizerTypes.d.ts.map +1 -1
- package/dist/summary/summarizerTypes.js.map +1 -1
- package/dist/summary/summaryCollection.js +2 -2
- package/dist/summary/summaryCollection.js.map +1 -1
- package/dist/summary/summaryFormat.d.ts +1 -1
- package/dist/summary/summaryFormat.d.ts.map +1 -1
- package/dist/summary/summaryFormat.js.map +1 -1
- package/dist/summary/summaryGenerator.d.ts +7 -8
- package/dist/summary/summaryGenerator.d.ts.map +1 -1
- package/dist/summary/summaryGenerator.js +23 -18
- package/dist/summary/summaryGenerator.js.map +1 -1
- package/dist/summary/summaryManager.js.map +1 -1
- package/dist/throttler.js.map +1 -1
- package/lib/batchTracker.js.map +1 -1
- package/lib/blobManager.d.ts +2 -2
- package/lib/blobManager.d.ts.map +1 -1
- package/lib/blobManager.js +1 -1
- package/lib/blobManager.js.map +1 -1
- package/lib/channelCollection.d.ts +2 -2
- package/lib/channelCollection.d.ts.map +1 -1
- package/lib/channelCollection.js +3 -3
- package/lib/channelCollection.js.map +1 -1
- package/lib/connectionTelemetry.js.map +1 -1
- package/lib/containerHandleContext.d.ts +2 -1
- package/lib/containerHandleContext.d.ts.map +1 -1
- package/lib/containerHandleContext.js.map +1 -1
- package/lib/containerRuntime.d.ts +10 -17
- package/lib/containerRuntime.d.ts.map +1 -1
- package/lib/containerRuntime.js +62 -104
- package/lib/containerRuntime.js.map +1 -1
- package/lib/dataStore.d.ts.map +1 -1
- package/lib/dataStore.js.map +1 -1
- package/lib/dataStoreContext.d.ts +6 -6
- package/lib/dataStoreContext.d.ts.map +1 -1
- package/lib/dataStoreContext.js +3 -3
- package/lib/dataStoreContext.js.map +1 -1
- package/lib/dataStoreContexts.js.map +1 -1
- package/lib/dataStoreRegistry.js.map +1 -1
- package/lib/deltaManagerProxies.js.map +1 -1
- package/lib/deltaScheduler.js.map +1 -1
- package/lib/gc/garbageCollection.d.ts +1 -2
- package/lib/gc/garbageCollection.d.ts.map +1 -1
- package/lib/gc/garbageCollection.js +1 -1
- package/lib/gc/garbageCollection.js.map +1 -1
- package/lib/gc/gcConfigs.d.ts.map +1 -1
- package/lib/gc/gcConfigs.js +15 -20
- package/lib/gc/gcConfigs.js.map +1 -1
- package/lib/gc/gcDefinitions.d.ts +4 -22
- package/lib/gc/gcDefinitions.d.ts.map +1 -1
- package/lib/gc/gcDefinitions.js +2 -2
- package/lib/gc/gcDefinitions.js.map +1 -1
- package/lib/gc/gcHelpers.d.ts +1 -2
- package/lib/gc/gcHelpers.d.ts.map +1 -1
- package/lib/gc/gcHelpers.js.map +1 -1
- package/lib/gc/gcReferenceGraphAlgorithm.js.map +1 -1
- package/lib/gc/gcSummaryDefinitions.d.ts +1 -1
- package/lib/gc/gcSummaryDefinitions.d.ts.map +1 -1
- package/lib/gc/gcSummaryDefinitions.js.map +1 -1
- package/lib/gc/gcSummaryStateTracker.d.ts +1 -1
- package/lib/gc/gcSummaryStateTracker.d.ts.map +1 -1
- package/lib/gc/gcSummaryStateTracker.js.map +1 -1
- package/lib/gc/gcTelemetry.d.ts +1 -1
- package/lib/gc/gcTelemetry.d.ts.map +1 -1
- package/lib/gc/gcTelemetry.js +2 -2
- package/lib/gc/gcTelemetry.js.map +1 -1
- package/lib/gc/gcUnreferencedStateTracker.js.map +1 -1
- package/lib/gc/index.d.ts +1 -1
- package/lib/gc/index.d.ts.map +1 -1
- package/lib/gc/index.js +1 -1
- package/lib/gc/index.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/legacy.d.ts +1 -1
- package/lib/opLifecycle/batchManager.js.map +1 -1
- package/lib/opLifecycle/opCompressor.js.map +1 -1
- package/lib/opLifecycle/opDecompressor.js.map +1 -1
- package/lib/opLifecycle/opGroupingManager.js.map +1 -1
- package/lib/opLifecycle/opSplitter.js.map +1 -1
- package/lib/opLifecycle/outbox.d.ts +1 -0
- package/lib/opLifecycle/outbox.d.ts.map +1 -1
- package/lib/opLifecycle/outbox.js +2 -16
- package/lib/opLifecycle/outbox.js.map +1 -1
- package/lib/opLifecycle/remoteMessageProcessor.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/pendingStateManager.js.map +1 -1
- package/lib/scheduleManager.js.map +1 -1
- package/lib/storageServiceWithAttachBlobs.js.map +1 -1
- package/lib/summary/documentSchema.js +1 -1
- package/lib/summary/documentSchema.js.map +1 -1
- package/lib/summary/index.d.ts +1 -1
- package/lib/summary/index.d.ts.map +1 -1
- package/lib/summary/index.js.map +1 -1
- package/lib/summary/orderedClientElection.d.ts +3 -1
- package/lib/summary/orderedClientElection.d.ts.map +1 -1
- package/lib/summary/orderedClientElection.js +35 -13
- package/lib/summary/orderedClientElection.js.map +1 -1
- package/lib/summary/runWhileConnectedCoordinator.js.map +1 -1
- package/lib/summary/runningSummarizer.d.ts +0 -5
- package/lib/summary/runningSummarizer.d.ts.map +1 -1
- package/lib/summary/runningSummarizer.js +20 -105
- package/lib/summary/runningSummarizer.js.map +1 -1
- package/lib/summary/summarizer.d.ts +1 -1
- package/lib/summary/summarizer.d.ts.map +1 -1
- package/lib/summary/summarizer.js +4 -1
- package/lib/summary/summarizer.js.map +1 -1
- package/lib/summary/summarizerClientElection.js.map +1 -1
- package/lib/summary/summarizerHeuristics.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNode.d.ts +1 -2
- package/lib/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNode.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts +1 -2
- package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
- package/lib/summary/summarizerTypes.d.ts +15 -26
- package/lib/summary/summarizerTypes.d.ts.map +1 -1
- package/lib/summary/summarizerTypes.js.map +1 -1
- package/lib/summary/summaryCollection.js +2 -2
- package/lib/summary/summaryCollection.js.map +1 -1
- package/lib/summary/summaryFormat.d.ts +1 -1
- package/lib/summary/summaryFormat.d.ts.map +1 -1
- package/lib/summary/summaryFormat.js +1 -1
- package/lib/summary/summaryFormat.js.map +1 -1
- package/lib/summary/summaryGenerator.d.ts +7 -8
- package/lib/summary/summaryGenerator.d.ts.map +1 -1
- package/lib/summary/summaryGenerator.js +23 -18
- package/lib/summary/summaryGenerator.js.map +1 -1
- package/lib/summary/summaryManager.js.map +1 -1
- package/lib/throttler.js.map +1 -1
- package/package.json +59 -22
- package/src/blobManager.ts +3 -3
- package/src/channelCollection.ts +5 -7
- package/src/containerHandleContext.ts +2 -1
- package/src/containerRuntime.ts +72 -121
- package/src/dataStore.ts +2 -1
- package/src/dataStoreContext.ts +7 -8
- package/src/gc/garbageCollection.md +0 -8
- package/src/gc/garbageCollection.ts +2 -1
- package/src/gc/gcConfigs.ts +12 -19
- package/src/gc/gcDefinitions.ts +5 -23
- package/src/gc/gcHelpers.ts +1 -1
- package/src/gc/gcSummaryDefinitions.ts +1 -1
- package/src/gc/gcSummaryStateTracker.ts +1 -1
- package/src/gc/gcTelemetry.ts +1 -1
- package/src/gc/index.ts +1 -1
- package/src/index.ts +1 -1
- package/src/opLifecycle/outbox.ts +2 -26
- package/src/packageVersion.ts +1 -1
- package/src/summary/index.ts +1 -1
- package/src/summary/orderedClientElection.ts +82 -11
- package/src/summary/runningSummarizer.ts +29 -113
- package/src/summary/summarizer.ts +5 -2
- package/src/summary/summarizerNode/summarizerNode.ts +0 -2
- package/src/summary/summarizerNode/summarizerNodeWithGc.ts +1 -3
- package/src/summary/summarizerTypes.ts +21 -27
- package/src/summary/summaryFormat.ts +5 -2
- package/src/summary/summaryGenerator.ts +49 -26
|
@@ -35,6 +35,7 @@ import {
|
|
|
35
35
|
SubmitSummaryResult,
|
|
36
36
|
SummarizeResultPart,
|
|
37
37
|
SummaryGeneratorTelemetry,
|
|
38
|
+
type IRetriableFailureError,
|
|
38
39
|
} from "./summarizerTypes.js";
|
|
39
40
|
import { IClientSummaryWatcher } from "./summaryCollection.js";
|
|
40
41
|
|
|
@@ -127,8 +128,10 @@ const summarizeErrors = {
|
|
|
127
128
|
disconnect: "Summary cancelled due to summarizer or main client disconnect",
|
|
128
129
|
} as const;
|
|
129
130
|
|
|
131
|
+
export type SummarizeErrorCode = keyof typeof summarizeErrors;
|
|
132
|
+
|
|
130
133
|
// Helper functions to report failures and return.
|
|
131
|
-
export const getFailMessage = (errorCode:
|
|
134
|
+
export const getFailMessage = (errorCode: SummarizeErrorCode) =>
|
|
132
135
|
`${errorCode}: ${summarizeErrors[errorCode]}`;
|
|
133
136
|
|
|
134
137
|
export class SummarizeResultBuilder {
|
|
@@ -150,7 +153,7 @@ export class SummarizeResultBuilder {
|
|
|
150
153
|
*/
|
|
151
154
|
public fail(
|
|
152
155
|
message: string,
|
|
153
|
-
error:
|
|
156
|
+
error: IRetriableFailureError,
|
|
154
157
|
submitFailureResult?: SubmitSummaryFailureData,
|
|
155
158
|
nackSummaryResult?: INackSummaryResult,
|
|
156
159
|
) {
|
|
@@ -184,8 +187,7 @@ export class SummarizeResultBuilder {
|
|
|
184
187
|
/**
|
|
185
188
|
* Errors type for errors hit during summary that may be retriable.
|
|
186
189
|
*/
|
|
187
|
-
export class RetriableSummaryError extends LoggingError {
|
|
188
|
-
public readonly canRetry = this.retryAfterSeconds !== undefined;
|
|
190
|
+
export class RetriableSummaryError extends LoggingError implements IRetriableFailureError {
|
|
189
191
|
constructor(
|
|
190
192
|
message: string,
|
|
191
193
|
public readonly retryAfterSeconds?: number,
|
|
@@ -221,9 +223,8 @@ export class SummaryGenerator {
|
|
|
221
223
|
/**
|
|
222
224
|
* Generates summary and listens for broadcast and ack/nack.
|
|
223
225
|
* Returns true for ack, false for nack, and undefined for failure or timeout.
|
|
224
|
-
* @param
|
|
225
|
-
* @param
|
|
226
|
-
* fullTree to generate tree without any summary handles even if unchanged
|
|
226
|
+
* @param summaryOptions - options controlling how the summary is generated or submitted.
|
|
227
|
+
* @param resultsBuilder - optional, result builder to use to build pass or fail result.
|
|
227
228
|
*/
|
|
228
229
|
public summarize(
|
|
229
230
|
summaryOptions: ISubmitSummaryOptions,
|
|
@@ -273,8 +274,8 @@ export class SummaryGenerator {
|
|
|
273
274
|
* be provided. For op broadcast failures, only errors / properties should be provided.
|
|
274
275
|
*/
|
|
275
276
|
const fail = (
|
|
276
|
-
errorCode:
|
|
277
|
-
error
|
|
277
|
+
errorCode: SummarizeErrorCode,
|
|
278
|
+
error: IRetriableFailureError,
|
|
278
279
|
properties?: SummaryGeneratorTelemetry,
|
|
279
280
|
submitFailureResult?: SubmitSummaryFailureData,
|
|
280
281
|
nackSummaryResult?: INackSummaryResult,
|
|
@@ -294,11 +295,9 @@ export class SummaryGenerator {
|
|
|
294
295
|
...properties,
|
|
295
296
|
reason,
|
|
296
297
|
category,
|
|
297
|
-
retryAfterSeconds:
|
|
298
|
-
submitFailureResult?.retryAfterSeconds ??
|
|
299
|
-
nackSummaryResult?.retryAfterSeconds,
|
|
298
|
+
retryAfterSeconds: error.retryAfterSeconds,
|
|
300
299
|
},
|
|
301
|
-
error
|
|
300
|
+
error,
|
|
302
301
|
); // disconnect & summaryAckTimeout do not have proper error.
|
|
303
302
|
|
|
304
303
|
resultsBuilder.fail(reason, error, submitFailureResult, nackSummaryResult);
|
|
@@ -330,9 +329,11 @@ export class SummaryGenerator {
|
|
|
330
329
|
);
|
|
331
330
|
|
|
332
331
|
if (summaryData.stage !== "submit") {
|
|
333
|
-
|
|
332
|
+
const errorCode: SummarizeErrorCode = "submitSummaryFailure";
|
|
333
|
+
const retriableError =
|
|
334
|
+
summaryData.error ?? new RetriableSummaryError(getFailMessage(errorCode));
|
|
335
|
+
return fail(errorCode, retriableError, summarizeTelemetryProps, {
|
|
334
336
|
stage: summaryData.stage,
|
|
335
|
-
retryAfterSeconds: getRetryDelaySecondsFromError(summaryData.error),
|
|
336
337
|
});
|
|
337
338
|
}
|
|
338
339
|
|
|
@@ -368,11 +369,14 @@ export class SummaryGenerator {
|
|
|
368
369
|
} catch (error) {
|
|
369
370
|
return fail(
|
|
370
371
|
"submitSummaryFailure",
|
|
371
|
-
wrapError(
|
|
372
|
+
wrapError(
|
|
373
|
+
error,
|
|
374
|
+
(message) =>
|
|
375
|
+
new RetriableSummaryError(message, getRetryDelaySecondsFromError(error)),
|
|
376
|
+
),
|
|
372
377
|
undefined /* properties */,
|
|
373
378
|
{
|
|
374
379
|
stage: "unknown",
|
|
375
|
-
retryAfterSeconds: getRetryDelaySecondsFromError(error),
|
|
376
380
|
},
|
|
377
381
|
);
|
|
378
382
|
} finally {
|
|
@@ -393,10 +397,17 @@ export class SummaryGenerator {
|
|
|
393
397
|
cancellationToken,
|
|
394
398
|
);
|
|
395
399
|
if (waitBroadcastResult.result === "cancelled") {
|
|
396
|
-
|
|
400
|
+
const errorCode: SummarizeErrorCode = "disconnect";
|
|
401
|
+
return fail(errorCode, new RetriableSummaryError(getFailMessage(errorCode)));
|
|
397
402
|
}
|
|
398
403
|
if (waitBroadcastResult.result !== "done") {
|
|
399
|
-
|
|
404
|
+
// The summary op may not have been received within the timeout due to a transient error. So,
|
|
405
|
+
// fail with a retriable error to re-attempt the summary if possible.
|
|
406
|
+
const errorCode: SummarizeErrorCode = "summaryOpWaitTimeout";
|
|
407
|
+
return fail(
|
|
408
|
+
errorCode,
|
|
409
|
+
new RetriableSummaryError(getFailMessage(errorCode), 0 /* retryAfterSeconds */),
|
|
410
|
+
);
|
|
400
411
|
}
|
|
401
412
|
const summarizeOp = waitBroadcastResult.value;
|
|
402
413
|
|
|
@@ -422,10 +433,17 @@ export class SummaryGenerator {
|
|
|
422
433
|
cancellationToken,
|
|
423
434
|
);
|
|
424
435
|
if (waitAckNackResult.result === "cancelled") {
|
|
425
|
-
|
|
436
|
+
const errorCode: SummarizeErrorCode = "disconnect";
|
|
437
|
+
return fail(errorCode, new RetriableSummaryError(getFailMessage(errorCode)));
|
|
426
438
|
}
|
|
427
439
|
if (waitAckNackResult.result !== "done") {
|
|
428
|
-
|
|
440
|
+
const errorCode: SummarizeErrorCode = "summaryAckWaitTimeout";
|
|
441
|
+
// The summary ack may not have been received within the timeout due to a transient error. So,
|
|
442
|
+
// fail with a retriable error to re-attempt the summary if possible.
|
|
443
|
+
return fail(
|
|
444
|
+
errorCode,
|
|
445
|
+
new RetriableSummaryError(getFailMessage(errorCode), 0 /* retryAfterSeconds */),
|
|
446
|
+
);
|
|
429
447
|
}
|
|
430
448
|
const ackNackOp = waitAckNackResult.value;
|
|
431
449
|
this.pendingAckTimer.clear();
|
|
@@ -469,11 +487,16 @@ export class SummaryGenerator {
|
|
|
469
487
|
const errorMessage = summaryNack?.message;
|
|
470
488
|
const retryAfterSeconds = summaryNack?.retryAfter;
|
|
471
489
|
|
|
490
|
+
const errorCode: SummarizeErrorCode = "summaryNack";
|
|
491
|
+
|
|
472
492
|
// pre-0.58 error message prefix: summaryNack
|
|
473
|
-
const error = new
|
|
493
|
+
const error = new RetriableSummaryError(
|
|
494
|
+
getFailMessage(errorCode),
|
|
474
495
|
retryAfterSeconds,
|
|
475
|
-
|
|
476
|
-
|
|
496
|
+
{
|
|
497
|
+
errorMessage,
|
|
498
|
+
},
|
|
499
|
+
);
|
|
477
500
|
|
|
478
501
|
assert(
|
|
479
502
|
getRetryDelaySecondsFromError(error) === retryAfterSeconds,
|
|
@@ -481,11 +504,11 @@ export class SummaryGenerator {
|
|
|
481
504
|
);
|
|
482
505
|
// This will only set resultsBuilder.receivedSummaryAckOrNack, as other promises are already set.
|
|
483
506
|
return fail(
|
|
484
|
-
|
|
507
|
+
errorCode,
|
|
485
508
|
error,
|
|
486
509
|
{ ...summarizeTelemetryProps, nackRetryAfter: retryAfterSeconds },
|
|
487
510
|
undefined /* submitFailureResult */,
|
|
488
|
-
{ summaryNackOp: ackNackOp, ackNackDuration
|
|
511
|
+
{ summaryNackOp: ackNackOp, ackNackDuration },
|
|
489
512
|
);
|
|
490
513
|
}
|
|
491
514
|
} finally {
|