@fluidframework/container-runtime 0.59.1000-61898 → 0.59.1001

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.
Files changed (62) hide show
  1. package/dist/containerRuntime.d.ts +2 -2
  2. package/dist/containerRuntime.d.ts.map +1 -1
  3. package/dist/containerRuntime.js +12 -13
  4. package/dist/containerRuntime.js.map +1 -1
  5. package/dist/dataStores.d.ts +4 -2
  6. package/dist/dataStores.d.ts.map +1 -1
  7. package/dist/dataStores.js +12 -5
  8. package/dist/dataStores.js.map +1 -1
  9. package/dist/garbageCollection.d.ts +1 -0
  10. package/dist/garbageCollection.d.ts.map +1 -1
  11. package/dist/garbageCollection.js +3 -1
  12. package/dist/garbageCollection.js.map +1 -1
  13. package/dist/orderedClientElection.d.ts +6 -57
  14. package/dist/orderedClientElection.d.ts.map +1 -1
  15. package/dist/orderedClientElection.js +25 -140
  16. package/dist/orderedClientElection.js.map +1 -1
  17. package/dist/packageVersion.d.ts +1 -1
  18. package/dist/packageVersion.d.ts.map +1 -1
  19. package/dist/packageVersion.js +1 -1
  20. package/dist/packageVersion.js.map +1 -1
  21. package/dist/summarizerClientElection.d.ts +0 -2
  22. package/dist/summarizerClientElection.d.ts.map +1 -1
  23. package/dist/summarizerClientElection.js +2 -7
  24. package/dist/summarizerClientElection.js.map +1 -1
  25. package/dist/summaryManager.d.ts.map +1 -1
  26. package/dist/summaryManager.js +3 -14
  27. package/dist/summaryManager.js.map +1 -1
  28. package/lib/containerRuntime.d.ts +2 -2
  29. package/lib/containerRuntime.d.ts.map +1 -1
  30. package/lib/containerRuntime.js +12 -13
  31. package/lib/containerRuntime.js.map +1 -1
  32. package/lib/dataStores.d.ts +4 -2
  33. package/lib/dataStores.d.ts.map +1 -1
  34. package/lib/dataStores.js +12 -5
  35. package/lib/dataStores.js.map +1 -1
  36. package/lib/garbageCollection.d.ts +1 -0
  37. package/lib/garbageCollection.d.ts.map +1 -1
  38. package/lib/garbageCollection.js +3 -1
  39. package/lib/garbageCollection.js.map +1 -1
  40. package/lib/orderedClientElection.d.ts +6 -57
  41. package/lib/orderedClientElection.d.ts.map +1 -1
  42. package/lib/orderedClientElection.js +25 -140
  43. package/lib/orderedClientElection.js.map +1 -1
  44. package/lib/packageVersion.d.ts +1 -1
  45. package/lib/packageVersion.d.ts.map +1 -1
  46. package/lib/packageVersion.js +1 -1
  47. package/lib/packageVersion.js.map +1 -1
  48. package/lib/summarizerClientElection.d.ts +0 -2
  49. package/lib/summarizerClientElection.d.ts.map +1 -1
  50. package/lib/summarizerClientElection.js +2 -7
  51. package/lib/summarizerClientElection.js.map +1 -1
  52. package/lib/summaryManager.d.ts.map +1 -1
  53. package/lib/summaryManager.js +3 -14
  54. package/lib/summaryManager.js.map +1 -1
  55. package/package.json +17 -17
  56. package/src/containerRuntime.ts +11 -13
  57. package/src/dataStores.ts +13 -5
  58. package/src/garbageCollection.ts +3 -1
  59. package/src/orderedClientElection.ts +25 -154
  60. package/src/packageVersion.ts +1 -1
  61. package/src/summarizerClientElection.ts +2 -7
  62. package/src/summaryManager.ts +4 -15
@@ -137,15 +137,9 @@ export class SummaryManager implements IDisposable {
137
137
  state === SummaryManagerState.Starting || state === SummaryManagerState.Running;
138
138
 
139
139
  private getShouldSummarizeState(): ShouldSummarizeState {
140
- // Note that if we're in the Running state, the electedClient may be a summarizer client, so we can't
141
- // enforce connectedState.clientId === clientElection.electedClientId. But once we're Running, we should
142
- // only transition to Stopping when the electedParentId changes. Stopping the summarizer without
143
- // changing the electedParent will just cause us to transition to Starting again.
144
140
  if (!this.connectedState.connected) {
145
141
  return { shouldSummarize: false, stopReason: "parentNotConnected" };
146
- } else if (this.connectedState.clientId !== this.clientElection.electedParentId ||
147
- (this.state !== SummaryManagerState.Running &&
148
- this.connectedState.clientId !== this.clientElection.electedClientId)) {
142
+ } else if (this.connectedState.clientId !== this.clientElection.electedClientId) {
149
143
  return { shouldSummarize: false, stopReason: "parentShouldNotSummarize" };
150
144
  } else if (this.disposed) {
151
145
  assert(false, 0x260 /* "Disposed should mean disconnected!" */);
@@ -205,23 +199,18 @@ export class SummaryManager implements IDisposable {
205
199
  return;
206
200
  }
207
201
 
208
- // We transition to Running before requesting the summarizer, because after requesting we can't predict
209
- // when the electedClient will be replaced with the new summarizer client.
210
- // The alternative would be to let connectedState.clientId !== clientElection.electedClientId when
211
- // state === Starting || state === Running.
212
- assert(this.state === SummaryManagerState.Starting, 0x263 /* "Expected: starting" */);
213
- this.state = SummaryManagerState.Running;
214
-
215
202
  const summarizer = await this.requestSummarizerFn();
216
203
 
217
204
  // Re-validate that it need to be running. Due to asynchrony, it may be not the case anymore
218
205
  const shouldSummarizeState = this.getShouldSummarizeState();
219
206
  if (shouldSummarizeState.shouldSummarize === false) {
220
- this.state = SummaryManagerState.Starting;
221
207
  summarizer.stop(shouldSummarizeState.stopReason);
222
208
  return;
223
209
  }
224
210
 
211
+ assert(this.state === SummaryManagerState.Starting, 0x263 /* "Expected: starting" */);
212
+ this.state = SummaryManagerState.Running;
213
+
225
214
  this.summarizer = summarizer;
226
215
 
227
216
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion