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.
- package/README.md +14 -0
- package/firestore.indexes.json +10 -1
- package/lib/index-utils.d.ts +31 -3
- package/lib/index-utils.js +106 -10
- package/lib/index-utils.js.map +1 -1
- package/lib/tests/index-utils.test.js +155 -12
- package/lib/tests/index-utils.test.js.map +1 -1
- package/lib/tests/utils/distribution.test.js +133 -46
- package/lib/tests/utils/distribution.test.js.map +1 -1
- package/lib/types.d.ts +4 -4
- package/lib/utils/distribution.d.ts +3 -3
- package/lib/utils/distribution.js +36 -25
- package/lib/utils/distribution.js.map +1 -1
- package/package.json +1 -1
|
@@ -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
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
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
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
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
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
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-
|
|
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
|
-
*
|
|
117
|
-
*
|
|
118
|
-
*
|
|
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
|
-
|
|
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
|
-
*
|
|
31
|
-
*
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
|
387
|
+
if (doc.exists) {
|
|
383
388
|
const data = doc.data();
|
|
384
|
-
|
|
385
|
-
//
|
|
386
|
-
|
|
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:
|
|
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,
|
|
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,
|
|
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
|
-
|
|
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.
|
|
462
|
-
//
|
|
463
|
-
await (0, exports.queueGroupPatch)({ path, patchType, backFillPatchName, appVersion
|
|
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,
|
|
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
|
}
|