emberflow 2.0.9 → 2.0.11

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.
@@ -1005,6 +1005,28 @@ describe("queueGroupPatch", () => {
1005
1005
  });
1006
1006
  expect(publishMessageSpy).not.toHaveBeenCalled();
1007
1007
  });
1008
+ it("does NOT lock/track a placeholder (wildcard) path and publishes it directly for hydration", async () => {
1009
+ // A placeholder path never patches a real document; it only gets hydrated into
1010
+ // concrete collections downstream, each of which gets its own status doc + guard.
1011
+ // So the lock transaction is skipped entirely and the message is published as-is.
1012
+ await distribution.queueGroupPatch({
1013
+ path: "/users/{userId}/feeds",
1014
+ patchType: "back-fill",
1015
+ backFillPatchName: "ancestor-ids",
1016
+ });
1017
+ expect(runTransactionSpy).not.toHaveBeenCalled();
1018
+ expect(txnSetMock).not.toHaveBeenCalled();
1019
+ expect(publishMessageSpy).toHaveBeenCalledWith({
1020
+ json: {
1021
+ collectionPath: "/users/{userId}/feeds",
1022
+ patchType: "back-fill",
1023
+ backFillPatchName: "ancestor-ids",
1024
+ appVersion: undefined,
1025
+ lastPatchedId: undefined,
1026
+ iteration: undefined,
1027
+ },
1028
+ });
1029
+ });
1008
1030
  it("re-locks and publishes when the previous status is error", async () => {
1009
1031
  txnGetMock.mockResolvedValue({ exists: true, data: () => ({ status: "error" }) });
1010
1032
  await distribution.queueGroupPatch({
@@ -1015,41 +1037,80 @@ describe("queueGroupPatch", () => {
1015
1037
  expect(txnSetMock).toHaveBeenCalled();
1016
1038
  expect(publishMessageSpy).toHaveBeenCalled();
1017
1039
  });
1018
- it("re-locks and publishes with force even when the previous status is running", async () => {
1019
- txnGetMock.mockResolvedValue({ exists: true, data: () => ({ status: "running" }) });
1020
- await distribution.queueGroupPatch({
1021
- path: "/users/user1/feeds",
1022
- patchType: "back-fill",
1023
- backFillPatchName: "ancestor-ids",
1024
- force: true,
1040
+ // --- restart via "reset" status ----------------------------------------
1041
+ //
1042
+ // `force` has been removed. An operator restart is done by stamping the
1043
+ // status doc(s) to "reset" (see resetGroupPatchStatuses / onGroupPatchRequest).
1044
+ // A "reset" (like "error") is treated as SETTLED here, so it falls through and
1045
+ // re-locks + re-publishes. A patch that is still IN FLIGHT (queued / running /
1046
+ // hydrating) is always treated as ALREADY QUEUED and never restarted, so a
1047
+ // re-trigger cannot spawn an overlapping chain (a runaway backfill).
1048
+ describe.each([
1049
+ ["running"],
1050
+ ["queued"],
1051
+ ["hydrating"],
1052
+ ])("an in-flight patch is never restarted (status=%s)", (status) => {
1053
+ it("does NOT re-lock and does NOT re-publish", async () => {
1054
+ txnGetMock.mockResolvedValue({ exists: true, data: () => ({ status }) });
1055
+ await distribution.queueGroupPatch({
1056
+ path: "/users/user1/feeds",
1057
+ patchType: "back-fill",
1058
+ backFillPatchName: "ancestor-ids",
1059
+ });
1060
+ // The in-flight run is left untouched: no re-lock and no second message.
1061
+ expect(txnSetMock).not.toHaveBeenCalled();
1062
+ expect(publishMessageSpy).not.toHaveBeenCalled();
1025
1063
  });
1026
- expect(txnSetMock).toHaveBeenCalledWith(expect.anything(), expect.objectContaining({
1027
- status: "queued",
1028
- collectionPath: "/users/user1/feeds",
1029
- count: 0,
1030
- lastPatchedId: null,
1031
- }), { merge: true });
1032
- expect(publishMessageSpy).toHaveBeenCalledWith({
1033
- json: {
1034
- collectionPath: "/users/user1/feeds",
1064
+ });
1065
+ describe.each([
1066
+ ["error"],
1067
+ ["reset"],
1068
+ ])("a settled patch is restarted (status=%s)", (status) => {
1069
+ it("re-locks the status doc and publishes", async () => {
1070
+ txnGetMock.mockResolvedValue({ exists: true, data: () => ({ status }) });
1071
+ await distribution.queueGroupPatch({
1072
+ path: "/users/user1/feeds",
1035
1073
  patchType: "back-fill",
1036
1074
  backFillPatchName: "ancestor-ids",
1037
- appVersion: undefined,
1038
- lastPatchedId: undefined,
1039
- force: true,
1040
- },
1075
+ });
1076
+ expect(txnSetMock).toHaveBeenCalledWith(expect.anything(), expect.objectContaining({
1077
+ status: "queued",
1078
+ collectionPath: "/users/user1/feeds",
1079
+ count: 0,
1080
+ lastPatchedId: null,
1081
+ }), { merge: true });
1082
+ expect(publishMessageSpy).toHaveBeenCalledWith({
1083
+ json: {
1084
+ collectionPath: "/users/user1/feeds",
1085
+ patchType: "back-fill",
1086
+ backFillPatchName: "ancestor-ids",
1087
+ appVersion: undefined,
1088
+ lastPatchedId: undefined,
1089
+ },
1090
+ });
1041
1091
  });
1042
1092
  });
1043
- it("re-locks and publishes with force even when the previous status is completed", async () => {
1093
+ it("does not re-lock or publish when already completed", async () => {
1044
1094
  txnGetMock.mockResolvedValue({ exists: true, data: () => ({ status: "completed" }) });
1045
1095
  await distribution.queueGroupPatch({
1046
1096
  path: "/users/user1/feeds",
1047
1097
  patchType: "back-fill",
1048
1098
  backFillPatchName: "ancestor-ids",
1049
- force: true,
1050
1099
  });
1051
- expect(txnSetMock).toHaveBeenCalled();
1052
- expect(publishMessageSpy).toHaveBeenCalled();
1100
+ expect(txnSetMock).not.toHaveBeenCalled();
1101
+ expect(publishMessageSpy).not.toHaveBeenCalled();
1102
+ });
1103
+ it("skips the lock transaction entirely on a reschedule (lastPatchedId provided)", async () => {
1104
+ // When a lastPatchedId is provided (a reschedule), the lock transaction is
1105
+ // skipped entirely, so a re-trigger can never re-run the guard mid-chain.
1106
+ await distribution.queueGroupPatch({
1107
+ path: "/users/user1/feeds",
1108
+ patchType: "back-fill",
1109
+ backFillPatchName: "ancestor-ids",
1110
+ lastPatchedId: "feed5",
1111
+ });
1112
+ expect(runTransactionSpy).not.toHaveBeenCalled();
1113
+ expect(publishMessageSpy).toHaveBeenCalledTimes(1);
1053
1114
  });
1054
1115
  it("skips locking and publishes directly when lastPatchedId is provided", async () => {
1055
1116
  await distribution.queueGroupPatch({
@@ -1125,28 +1186,6 @@ describe("onMessageGroupPatchQueue", () => {
1125
1186
  });
1126
1187
  expect(trackProcessedIdsMock).toHaveBeenCalledWith(index_1.GROUP_PATCH_TOPIC_NAME, event.id);
1127
1188
  });
1128
- it("propagates force to patchGroupDocs", async () => {
1129
- const event = {
1130
- id: "test-event",
1131
- data: {
1132
- message: {
1133
- json: {
1134
- collectionPath: "/users/user1/feeds",
1135
- patchType: "back-fill",
1136
- backFillPatchName: "ancestor-ids",
1137
- force: true,
1138
- },
1139
- },
1140
- },
1141
- };
1142
- await distribution.onMessageGroupPatchQueue(event);
1143
- expect(patchGroupDocsSpy).toHaveBeenCalledWith(expect.objectContaining({
1144
- collectionPath: "/users/user1/feeds",
1145
- patchType: "back-fill",
1146
- backFillPatchName: "ancestor-ids",
1147
- force: true,
1148
- }));
1149
- });
1150
1189
  it("dispatches to patchGroupDocs for patch-logics messages", async () => {
1151
1190
  const event = {
1152
1191
  id: "test-event",
@@ -1169,6 +1208,54 @@ describe("onMessageGroupPatchQueue", () => {
1169
1208
  lastPatchedId: undefined,
1170
1209
  });
1171
1210
  });
1211
+ it("does NOT write a placeholder status doc while hydration is in progress", async () => {
1212
+ const hydratePathSpy = jest.spyOn(paths, "hydratePath").mockResolvedValue({
1213
+ documentPaths: [],
1214
+ hydrationState: { batch: 2 },
1215
+ });
1216
+ const docSetMock = jest.fn();
1217
+ jest.spyOn(admin.firestore(), "doc").mockReturnValue({
1218
+ set: docSetMock,
1219
+ });
1220
+ const publishMessageSpy = jest.spyOn(index_1.GROUP_PATCH_TOPIC, "publishMessage")
1221
+ .mockImplementation(() => Promise.resolve("message-id"));
1222
+ const event = {
1223
+ id: "test-event",
1224
+ data: { message: { json: { collectionPath: "/users/{userId}/feeds", patchType: "back-fill", backFillPatchName: "ancestor-ids" } } },
1225
+ };
1226
+ await distribution.onMessageGroupPatchQueue(event);
1227
+ expect(hydratePathSpy).toHaveBeenCalled();
1228
+ // A re-queue message is still published to continue hydration...
1229
+ expect(publishMessageSpy).toHaveBeenCalledWith({
1230
+ json: expect.objectContaining({
1231
+ collectionPath: "/users/{userId}/feeds",
1232
+ hydrationState: { batch: 2 },
1233
+ }),
1234
+ });
1235
+ // ...but the wildcard/placeholder path is NOT tracked with a status doc.
1236
+ expect(docSetMock).not.toHaveBeenCalled();
1237
+ });
1238
+ it("does NOT write a placeholder status doc when hydration completes", async () => {
1239
+ const hydratePathSpy = jest.spyOn(paths, "hydratePath").mockResolvedValue({
1240
+ documentPaths: [],
1241
+ hydrationState: undefined,
1242
+ });
1243
+ const docSetMock = jest.fn();
1244
+ jest.spyOn(admin.firestore(), "doc").mockReturnValue({
1245
+ set: docSetMock,
1246
+ });
1247
+ jest.spyOn(index_1.GROUP_PATCH_TOPIC, "publishMessage").mockImplementation(() => Promise.resolve("message-id"));
1248
+ const event = {
1249
+ id: "test-event",
1250
+ data: { message: { json: { collectionPath: "/users/{userId}/feeds", patchType: "back-fill", backFillPatchName: "ancestor-ids" } } },
1251
+ };
1252
+ await distribution.onMessageGroupPatchQueue(event);
1253
+ expect(hydratePathSpy).toHaveBeenCalled();
1254
+ // The placeholder path is never stamped "hydrating"/"completed"...
1255
+ expect(docSetMock).not.toHaveBeenCalled();
1256
+ // ...and the message is still marked processed.
1257
+ expect(trackProcessedIdsMock).toHaveBeenCalledWith(index_1.GROUP_PATCH_TOPIC_NAME, event.id);
1258
+ });
1172
1259
  });
1173
1260
  describe("getGroupPatchProgress", () => {
1174
1261
  let docGetMock;
@@ -1 +1 @@
1
- {"version":3,"file":"distribution.test.js","sourceRoot":"","sources":["../../../src/tests/utils/distribution.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"distribution.test.js","sourceRoot":"","sources":["../../../src/tests/utils/distribution.test.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts CHANGED
@@ -113,11 +113,11 @@ export interface GroupPatchMessage {
113
113
  lastPatchedId?: string;
114
114
  hydrationState?: HydrationState;
115
115
  /**
116
- * When true, the patch runs even if the collection's status doc is in a
117
- * state that would normally block a (re)trigger (e.g. "queued", "running"
118
- * or "completed"), and the patch restarts from the first document.
116
+ * Safety counter tracking how many times this patch chain has rescheduled
117
+ * itself. Used by the circuit breaker to abort a runaway backfill that
118
+ * keeps re-queuing without ever completing.
119
119
  */
120
- force?: boolean;
120
+ iteration?: number;
121
121
  }
122
122
  export type OneTimePatchFn = (collectionPath: string, docs: FirebaseFirestore.QueryDocumentSnapshot[]) => Promise<void>;
123
123
  export interface BackFillPatchConfig {
@@ -27,10 +27,10 @@ export interface QueueGroupPatchParams {
27
27
  appVersion?: string;
28
28
  lastPatchedId?: string;
29
29
  /**
30
- * When true, ignore the collection's stored status and (re)run the patch from
31
- * scratch, bypassing the "already queued/running/completed" guard.
30
+ * How many times this patch chain has rescheduled itself. Propagated into the
31
+ * queued message so the engine's circuit breaker can abort a runaway backfill.
32
32
  */
33
- force?: boolean;
33
+ iteration?: number;
34
34
  }
35
35
  export declare const queueGroupPatch: (params: QueueGroupPatchParams) => Promise<void>;
36
36
  export declare function onMessageGroupPatchQueue(event: CloudEvent<MessagePublishedData>): Promise<void>;
@@ -364,7 +364,7 @@ function getGroupPatchStatusPath(collectionPath, patchType, backFillPatchName) {
364
364
  }
365
365
  exports.getGroupPatchStatusPath = getGroupPatchStatusPath;
366
366
  const queueGroupPatch = async (params) => {
367
- const { path, patchType, backFillPatchName, appVersion, lastPatchedId, force } = params;
367
+ const { path, patchType, backFillPatchName, appVersion, lastPatchedId, iteration } = params;
368
368
  const segments = path.split("/").filter((s) => s.length > 0);
369
369
  const collectionPath = segments.length % 2 === 0 ?
370
370
  "/" + segments.slice(0, -1).join("/") :
@@ -372,24 +372,42 @@ const queueGroupPatch = async (params) => {
372
372
  if (!collectionPath || !collectionPath.includes("/")) {
373
373
  return;
374
374
  }
375
- // If this is the start of a new patch (no lastPatchedId), check/lock it in Firestore
376
- if (!lastPatchedId) {
375
+ // If this is the start of a new patch (no lastPatchedId), check/lock it in Firestore.
376
+ // Placeholder (wildcard) paths are NOT locked/tracked here: they never patch a real
377
+ // document, they only get hydrated into concrete collections downstream, and each
378
+ // concrete collection goes through queueGroupPatch again and gets its own status
379
+ // doc + in-flight guard (which is what actually prevents a runaway backfill). So for
380
+ // a placeholder path we skip straight to publishing the hydration message.
381
+ if (!lastPatchedId && !collectionPath.includes("{")) {
377
382
  const patchStatusPath = getGroupPatchStatusPath(collectionPath, patchType, backFillPatchName);
378
383
  const patchStatusRef = index_1.db.doc(patchStatusPath);
379
384
  try {
380
385
  const alreadyQueued = await index_1.db.runTransaction(async (txn) => {
381
386
  const doc = await txn.get(patchStatusRef);
382
- if (doc.exists && !force) {
387
+ if (doc.exists) {
383
388
  const data = doc.data();
384
- // Allow re-triggering if status is "error" or "reset".
385
- // When `force` is set we always fall through and re-lock, ignoring status.
386
- if ((data === null || data === void 0 ? void 0 : data.status) !== "error" && (data === null || data === void 0 ? void 0 : data.status) !== "reset") {
389
+ const status = data === null || data === void 0 ? void 0 : data.status;
390
+ // A patch that is already in flight is NEVER restarted here. Re-locking +
391
+ // re-publishing while a chain is still running would spawn a second,
392
+ // overlapping chain (a runaway backfill), so any trigger for the same
393
+ // collection is treated as ALREADY QUEUED and ignored until it settles.
394
+ const isInFlight = status === "queued" || status === "running" || status === "hydrating";
395
+ if (isInFlight) {
396
+ console.info(`[backfill-patch-emberflow] queueGroupPatch: status doc already in-flight (status="${status}") for ${collectionPath} -> treating as ALREADY QUEUED, will NOT re-publish.`);
397
+ return true;
398
+ }
399
+ // Not in flight (settled). Only "error"/"reset" may restart; any other
400
+ // settled status (e.g. "completed") is treated as already done. An
401
+ // operator restart is done by stamping the status doc(s) to "reset"
402
+ // (see onGroupPatchRequest), which falls through here to re-lock/re-run.
403
+ if (status !== "error" && status !== "reset") {
404
+ console.info(`[backfill-patch-emberflow] queueGroupPatch: status doc already exists with status="${status}" -> treating as ALREADY QUEUED, will NOT re-publish for ${collectionPath}.`);
387
405
  return true; // Already exists and not in a state that allows restart
388
406
  }
389
407
  }
390
408
  // Create or update record to "lock" it
391
409
  txn.set(patchStatusRef, {
392
- status: collectionPath.includes("{") ? "hydrating" : "queued",
410
+ status: "queued",
393
411
  patchType,
394
412
  backFillPatchName: backFillPatchName !== null && backFillPatchName !== void 0 ? backFillPatchName : null,
395
413
  collectionPath,
@@ -411,7 +429,7 @@ const queueGroupPatch = async (params) => {
411
429
  }
412
430
  }
413
431
  try {
414
- const message = { collectionPath, patchType, backFillPatchName, appVersion, lastPatchedId, force };
432
+ const message = { collectionPath, patchType, backFillPatchName, appVersion, lastPatchedId, iteration };
415
433
  await index_1.GROUP_PATCH_TOPIC.publishMessage({ json: message });
416
434
  }
417
435
  catch (error) {
@@ -425,11 +443,14 @@ async function onMessageGroupPatchQueue(event) {
425
443
  return;
426
444
  }
427
445
  try {
428
- const { collectionPath, patchType, backFillPatchName, appVersion, lastPatchedId, hydrationState, force } = event.data.message.json;
446
+ const { collectionPath, patchType, backFillPatchName, appVersion, lastPatchedId, hydrationState, iteration } = event.data.message.json;
429
447
  if (collectionPath.includes("{")) {
430
448
  console.log(`[GroupPatch] Hydration in Progress for ${collectionPath}...`);
431
449
  const { documentPaths, hydrationState: nextHydrationState } = await (0, paths_1.hydratePath)(collectionPath, {}, hydrationState);
432
- const patchStatusPath = getGroupPatchStatusPath(collectionPath, patchType, backFillPatchName);
450
+ // Note: we do NOT create/update a status doc for the placeholder (wildcard)
451
+ // path here. Placeholder paths are not tracked (see queueGroupPatch) — only
452
+ // the concrete collections that hydration fans out to get their own status
453
+ // doc + in-flight guard.
433
454
  if (nextHydrationState) {
434
455
  // Re-queue hydration
435
456
  const message = {
@@ -438,33 +459,23 @@ async function onMessageGroupPatchQueue(event) {
438
459
  backFillPatchName,
439
460
  appVersion,
440
461
  hydrationState: nextHydrationState,
441
- force,
442
462
  };
443
463
  await index_1.GROUP_PATCH_TOPIC.publishMessage({ json: message });
444
- await index_1.db.doc(patchStatusPath).set({
445
- status: "hydrating",
446
- updatedAt: index_1.admin.firestore.Timestamp.now(),
447
- }, { merge: true });
448
464
  }
449
465
  else {
450
- // Hydration complete. We should mark the "placeholder" path as completed.
451
- await index_1.db.doc(patchStatusPath).set({
452
- status: "completed",
453
- updatedAt: index_1.admin.firestore.Timestamp.now(),
454
- }, { merge: true });
455
466
  console.log(`[GroupPatch] Hydration complete for ${collectionPath}`);
456
467
  }
457
468
  console.log(`[GroupPatch] Hydrated ${documentPaths.length} paths for ${collectionPath}. Remaining batches: ${nextHydrationState ? "yes" : "no"}`);
458
469
  for (const path of documentPaths) {
459
470
  // We trigger a patch for each hydrated path.
460
471
  // Note: These will go through the same queueGroupPatch logic,
461
- // so they will be tracked/locked individually. Propagate `force` so each
462
- // hydrated collection ignores its stored status too.
463
- await (0, exports.queueGroupPatch)({ path, patchType, backFillPatchName, appVersion, force });
472
+ // so they will be tracked/locked individually. If the operator stamped
473
+ // the concrete status doc(s) to "reset", queueGroupPatch restarts them.
474
+ await (0, exports.queueGroupPatch)({ path, patchType, backFillPatchName, appVersion });
464
475
  }
465
476
  }
466
477
  else {
467
- await (0, index_utils_1.patchGroupDocs)({ collectionPath, patchType, backFillPatchName, appVersion, lastPatchedId, force });
478
+ await (0, index_utils_1.patchGroupDocs)({ collectionPath, patchType, backFillPatchName, appVersion, lastPatchedId, iteration });
468
479
  }
469
480
  await pubsub_1.pubsubUtils.trackProcessedIds(index_1.GROUP_PATCH_TOPIC_NAME, event.id);
470
481
  }